{
  "status": "passed",
  "at": "2026-09-09T11:36:23.144Z",
  "sourceSha": "6c005b6ef86329e7d74e9620058f55b5c6e7d4ec",
  "provider": {
    "mode": "mws",
    "provider": "MWS Model Hub",
    "embeddings": "bge-m3",
    "generation": "generaciya-otveta-gpt-oss-120b"
  },
  "documents": 4,
  "chunks": 16,
  "relevanceThreshold": 0.4,
  "metrics": [
    {
      "endpoint": "/api/v1/search",
      "status": 200,
      "milliseconds": 298
    },
    {
      "endpoint": "/api/v1/ask",
      "status": 200,
      "milliseconds": 1145
    },
    {
      "endpoint": "/api/v1/ask",
      "status": 200,
      "milliseconds": 115
    },
    {
      "endpoint": "/api/v1/search",
      "status": 200,
      "milliseconds": 137
    },
    {
      "endpoint": "/api/v1/ask",
      "status": 200,
      "milliseconds": 1936
    }
  ],
  "screenshots": [
    {
      "name": "01-overview-desktop",
      "caption": "Опубликованный стенд с реальными моделями MWS, pgvector, NATS и синтетическим корпусом",
      "file": "C:\\Users\\New\\Documents\\Codex\\2026-09-06\\new-chat\\outputs\\portfolio-evidence\\tenders-mws-20260909\\screenshots\\01-overview-desktop.png",
      "at": "2026-09-09T11:36:17.259Z",
      "viewport": {
        "width": 1440,
        "height": 1100
      }
    },
    {
      "name": "02-index-status-desktop",
      "caption": "Состояние индексатора: четыре готовых документа и 16 векторов bge-m3",
      "file": "C:\\Users\\New\\Documents\\Codex\\2026-09-06\\new-chat\\outputs\\portfolio-evidence\\tenders-mws-20260909\\screenshots\\02-index-status-desktop.png",
      "at": "2026-09-09T11:36:17.380Z",
      "viewport": {
        "width": 1440,
        "height": 1100
      }
    },
    {
      "name": "03-search-bge-m3-desktop",
      "caption": "Семантический поиск через bge-m3 и точное сравнение векторов в pgvector",
      "file": "C:\\Users\\New\\Documents\\Codex\\2026-09-06\\new-chat\\outputs\\portfolio-evidence\\tenders-mws-20260909\\screenshots\\03-search-bge-m3-desktop.png",
      "at": "2026-09-09T11:36:17.921Z",
      "viewport": {
        "width": 1440,
        "height": 1100
      }
    },
    {
      "name": "04-result-detail-desktop",
      "caption": "Первый найденный фрагмент с cosine score, именем файла и ссылкой на источник",
      "file": "C:\\Users\\New\\Documents\\Codex\\2026-09-06\\new-chat\\outputs\\portfolio-evidence\\tenders-mws-20260909\\screenshots\\04-result-detail-desktop.png",
      "at": "2026-09-09T11:36:18.033Z",
      "viewport": {
        "width": 1440,
        "height": 1100
      }
    },
    {
      "name": "05-grounded-answer-mws-desktop",
      "caption": "Ответ gpt-oss-120b по найденному контексту с пятью показанными источниками",
      "file": "C:\\Users\\New\\Documents\\Codex\\2026-09-06\\new-chat\\outputs\\portfolio-evidence\\tenders-mws-20260909\\screenshots\\05-grounded-answer-mws-desktop.png",
      "at": "2026-09-09T11:36:19.347Z",
      "viewport": {
        "width": 1440,
        "height": 1100
      }
    },
    {
      "name": "06-no-context-desktop",
      "caption": "Порог 0,40 отсекает посторонний запрос, поэтому генерация ответа не запускается",
      "file": "C:\\Users\\New\\Documents\\Codex\\2026-09-06\\new-chat\\outputs\\portfolio-evidence\\tenders-mws-20260909\\screenshots\\06-no-context-desktop.png",
      "at": "2026-09-09T11:36:19.662Z",
      "viewport": {
        "width": 1440,
        "height": 1100
      }
    },
    {
      "name": "07-validation-desktop",
      "caption": "Клиентская проверка короткого запроса до обращения к API и внешней модели",
      "file": "C:\\Users\\New\\Documents\\Codex\\2026-09-06\\new-chat\\outputs\\portfolio-evidence\\tenders-mws-20260909\\screenshots\\07-validation-desktop.png",
      "at": "2026-09-09T11:36:19.832Z",
      "viewport": {
        "width": 1440,
        "height": 1100
      }
    },
    {
      "name": "08-overview-mobile",
      "caption": "Полная мобильная раскладка стенда на viewport 390 пикселей",
      "file": "C:\\Users\\New\\Documents\\Codex\\2026-09-06\\new-chat\\outputs\\portfolio-evidence\\tenders-mws-20260909\\screenshots\\08-overview-mobile.png",
      "at": "2026-09-09T11:36:20.795Z",
      "viewport": {
        "width": 390,
        "height": 844
      }
    },
    {
      "name": "09-search-mobile",
      "caption": "Мобильные карточки результата поиска Angular и TypeScript через bge-m3",
      "file": "C:\\Users\\New\\Documents\\Codex\\2026-09-06\\new-chat\\outputs\\portfolio-evidence\\tenders-mws-20260909\\screenshots\\09-search-mobile.png",
      "at": "2026-09-09T11:36:21.093Z",
      "viewport": {
        "width": 390,
        "height": 844
      }
    },
    {
      "name": "10-answer-mobile",
      "caption": "Мобильный ответ MWS по базе с источниками и текущим лимитом сессии",
      "file": "C:\\Users\\New\\Documents\\Codex\\2026-09-06\\new-chat\\outputs\\portfolio-evidence\\tenders-mws-20260909\\screenshots\\10-answer-mobile.png",
      "at": "2026-09-09T11:36:23.141Z",
      "viewport": {
        "width": 390,
        "height": 844
      }
    }
  ],
  "responsive": {
    "viewportWidth": 390,
    "documentWidth": 390,
    "horizontalOverflow": false
  },
  "consoleErrors": [],
  "failedRequests": []
}
