TZV3

Launch console

Внутренняя страница контроля: что уже покрывает TZV3, где есть API-контуры и какие блоки еще требуют полноценной реализации перед коммерческим запуском.

Анкет

8

Подборок

3

TZV3

80%

На месте

4

DB mode

static-seed

Production gaps

Что еще блокирует запуск

Stages

14

Env blocked

10

Missing env

16

Owner inputs

52

Owner inputs JSON

npm run owner-inputs

Owner-input critical path

16 env

#1 domain

Нужна проверка

Owner inputs

  • Final domain name
  • DNS or Cloudflare access
  • Final brand spelling

First check

npm run source:audit

#2 schedule

Нужна проверка

Owner inputs

  • Public schedule URL
  • Schedule iframe URL
  • Schedule widget script URL
  • Schedule admin/import access for provider creation
  • +5 more

First check

npm run schedule:provider-handoff

#3 database

Нужны env

Owner inputs

  • Supabase, Neon, or PostgreSQL DATABASE_URL
  • Decision on production region

First check

npm run database:seed-payload

#4 admin-security

Нужны env

Owner inputs

  • Permission to generate secrets or supplied ADMIN_API_TOKEN and ADMIN_SESSION_SECRET
  • Admin actor naming convention

First check

npm run admin:audit

#5 telegram-status

Нужны env

Owner inputs

  • Telegram bot token
  • TELEGRAM_WEBHOOK_SECRET
  • Operator chat or workflow IDs

First check

npm run telegram:handoff

#1 domain

Canonical production domain

Нужна проверка

Missing env

none

Owner input

Final domain name

Next check

npm run source:audit

#2 schedule

Ready-made schedule connector

Нужна проверка

Missing env

none

Owner input

Public schedule URL

Next check

npm run schedule:provider-handoff

#3 database

Production PostgreSQL and seed import

Нужны env

Missing env

DATABASE_URL, ADMIN_API_TOKEN

Owner input

Supabase, Neon, or PostgreSQL DATABASE_URL

Next check

Set DATABASE_URL, ADMIN_API_TOKEN

#4 admin-security

Admin secrets and audit

Нужны env

Missing env

ADMIN_API_TOKEN, ADMIN_SESSION_SECRET

Owner input

Permission to generate secrets or supplied ADMIN_API_TOKEN and ADMIN_SESSION_SECRET

Next check

Set ADMIN_API_TOKEN, ADMIN_SESSION_SECRET

#5 telegram-status

Telegram live-status workflow

Нужны env

Missing env

TELEGRAM_WEBHOOK_SECRET, DATABASE_URL

Owner input

Telegram bot token

Next check

Set TELEGRAM_WEBHOOK_SECRET, DATABASE_URL

#6 vip-club

VIP Club verification workflow

Нужны env

Missing env

VIP_CLUB_WEBHOOK_URL, VIP_CLUB_WEBHOOK_TOKEN

Owner input

VIP Club Telegram workflow URL

Next check

Set VIP_CLUB_WEBHOOK_URL, VIP_CLUB_WEBHOOK_TOKEN

#7 media-cdn

Media storage and CDN delivery

Нужны env

Missing env

NEXT_PUBLIC_MEDIA_CDN_URL, CLOUDFLARE_R2_BUCKET, CLOUDFLARE_R2_ACCESS_KEY_ID, CLOUDFLARE_R2_SECRET_ACCESS_KEY

Owner input

NEXT_PUBLIC_MEDIA_CDN_URL

Next check

Set NEXT_PUBLIC_MEDIA_CDN_URL, CLOUDFLARE_R2_BUCKET, CLOUDFLARE_R2_ACCESS_KEY_ID...

#8 search-cache

Elastic search and Redis cache

Нужны env

Missing env

ELASTICSEARCH_URL, ELASTICSEARCH_API_KEY, UPSTASH_REDIS_REST_URL, UPSTASH_REDIS_REST_TOKEN

Owner input

Elastic URL

Next check

Set ELASTICSEARCH_URL, ELASTICSEARCH_API_KEY, UPSTASH_REDIS_REST_URL...

#9 reviews-seo

Real reviews and Review JSON-LD

Нужны env

Missing env

DATABASE_URL, ADMIN_API_TOKEN

Owner input

At least one real moderated review

Next check

Set DATABASE_URL, ADMIN_API_TOKEN

#10 pwa-push

PWA push provider and unsubscribe evidence

Нужна проверка

Missing env

none

Owner input

Approved PWA push provider endpoint

Next check

npm run pwa-push:audit

#11 analytics

Web Vitals and analytics sink

Нужны env

Missing env

WEB_VITALS_ENDPOINT_URL

Owner input

Approved analytics provider or endpoint

Next check

Set WEB_VITALS_ENDPOINT_URL

#12 legal

Legal pages and takedown contact

Нужны env

Missing env

LEGAL_CONTACT_EMAIL

Owner input

LEGAL_CONTACT_EMAIL

Next check

Set LEGAL_CONTACT_EMAIL

#13 cloudflare

Cloudflare DNS, WAF, and monitoring

Нужна проверка

Missing env

none

Owner input

Cloudflare account ID

Next check

npm run cloudflare:audit

#14 final-qa

Final deployed-domain QA

Нужны env

Missing env

DATABASE_URL, ADMIN_API_TOKEN, ADMIN_SESSION_SECRET, TELEGRAM_WEBHOOK_SECRET, VIP_CLUB_WEBHOOK_URL, VIP_CLUB_WEBHOOK_TOKEN, LEGAL_CONTACT_EMAIL, ELASTICSEARCH_URL, ELASTICSEARCH_API_KEY, UPSTASH_REDIS_REST_URL, UPSTASH_REDIS_REST_TOKEN, NEXT_PUBLIC_MEDIA_CDN_URL, CLOUDFLARE_R2_BUCKET, CLOUDFLARE_R2_ACCESS_KEY_ID, CLOUDFLARE_R2_SECRET_ACCESS_KEY, WEB_VITALS_ENDPOINT_URL

Owner input

Deployed URL

Next check

Set DATABASE_URL, ADMIN_API_TOKEN, ADMIN_SESSION_SECRET...

API surface

Backend-контур уже появился

Пока публичный каталог работает из static seed, но интерфейс API уже задает контракт для БД, админки, Telegram и schedule-модуля.

/admin/profilesоператорский UI для upsert/delete анкет/api/healthhealth и базовая готовность/api/tzv3/statusмашиночитаемый TZV3 completion audit/api/readinessTZV3 readiness gates/api/performance/budgetperformance budget/api/performance/vitalsbrowser Web Vitals policy/collector/api/frontend/stackTZV3 frontend library stack/api/frontend/brandartescort.vip palette and premium typography guard/api/quality/policyunit test and release check policy/api/quality/load-policyread-only light load smoke policy/api/growth/safe-policysafe high-risk growth policy/api/security/policyanti-scraping/rate-limit policy/api/legal/retention-policydata retention and deletion policy/api/legal/contact-policylegal contact, takedown, and data-subject request policy/api/legal/audit-policyno-write legal production audit policy/api/database/bootstrap-policyPostgreSQL migration/seed bootstrap policy/api/database/audit-policyread-only PostgreSQL audit query contract/api/database/migration-manifestread-only manifest SQL миграций с sha256/api/database/seed-manifestread-only manifest static seed с counts/sha256/api/database/seed-payloadno-write static seed payload export перед POST /api/admin/seed/api/club/policyVIP Club verification policy/api/club/handoff-policyno-secret VIP Club receiver handoff/api/club/audit-policyno-write VIP Club production audit policy/api/club/verifyVIP Club dry-run verification request/api/i18n/policytranslation/i18n policy/api/i18n/profiles?lang=entranslated catalog dry-run/api/i18n/profiles/sofia?lang=zhtranslated profile dry-run/api/infrastructure/ci-policyGitHub Actions TZV3 CI no-write quality gate/api/infrastructure/deployment/policyVercel/Netlify deploy and env policy/api/infrastructure/launch-checklistпошаговый production launch checklist/api/infrastructure/owner-inputsno-secret owner-input packet/api/infrastructure/secret-rotationno-secret rotation handoff для env/secrets/api/infrastructure/source-controlread-only source-control guard GitHub parkourcafe/artesc/api/infrastructure/vercel-linkread-only статус привязки Vercel project/api/infrastructure/public-origin-policycanonical domain, schedule URL, CDN URL и Vercel link guard/api/infrastructure/production-evidenceno-write evidence manifest по всем blocking launch stages/api/infrastructure/cloudflare/policyCloudflare WAF/CDN/rate-limit policy/api/infrastructure/mirrors/policymirror monitoring policy/api/infrastructure/mirrors/checkmirror monitoring dry-run check/api/admin/sessionHttpOnly admin session status/api/admin/security-audit-policyno-write admin security production audit policy/api/admin/audit/policyadmin audit log policy/api/admin/auditзащищенное чтение audit log/api/profilesкаталог с фильтрами/api/filtersURL-контракт фильтров/api/profiles/sofiaдетальная анкета/api/collectionsподборки/api/statusснимок статусов/api/status/streamSSE stream live-статусов/api/favorites/policyprivacy-first избранное/api/media/video-policyvideo-визитки и media budget/api/media/enhancement-policyAI media enhancement policy/api/media/asset-manifestCDN/R2 media asset manifest/api/media/public-url-policyproduction-safe public media URL contract/api/pwa/policyPWA/offline policy/api/pwa/push/policyPWA push opt-in policy/api/pwa/push/audit-policyno-write PWA push production audit policy/api/pwa/push/subscribePWA push opt-in/delete forwarding/api/search/policyElastic-ready search policy/api/search/index-manifestElastic index mapping/documents manifest/api/search/bulk-payloadcopy-ready Elastic bulk NDJSON payload/api/search?q=vip%20%D0%B0%D0%BD%D0%B3%D0%BBмгновенный search dry-run/api/match/policySmart Match policy/api/match?q=vip%20%D0%BD%D0%B0%20%D0%BC%D0%B5%D1%81%D1%82%D0%B5%20%D0%B0%D0%BD%D0%B3%D0%BBAI-консьерж dry-run/api/schedule/statusконтракт отдельного расписания/api/schedule/provider-handoff-policyprovider handoff для готового schedule tenant site=artesc/api/schedule/provider-import-payloadcopy-ready providers payload для готового schedule tenant site=artesc/api/schedule/provider-reconciliationсверка импортируемых providers с публичным site=artesc/api/schedule/link-audit-policyprofile-aware CTA audit для готового расписания/api/schedule/tenant-statusread-only проверка providers для site=artesc/api/schedule/availability?profile=sofiaпроверка слотов schedule-модуля/api/seo/pagesprogrammatic SEO inventory/api/seo/technical-audit/policytechnical SEO audit: sitemap, robots, canonical, JSON-LD, noindex/api/seo/filter-policy?status=availablecanonical/noindex для фильтров/api/reviews/policyreal review intake and moderation policy/api/reviews/audit-policyno-write real review and Review JSON-LD production audit policy/api/admin/reviewsзащищенная модерация реальных отзывов/api/seo/review-schemapolicy для Review JSON-LD/api/seo/copy-policyAI/SEO copy contract/api/admin/seo-copyзащищенный draft SEO-текста/api/content-review/policymanual generated-content review policy/api/admin/content-reviewзащищенный review generated drafts/api/admin/profilesзащищенный CRUD-контракт/api/admin/seedимпорт static seed в PostgreSQL/api/webhooks/telegram/setup-policyno-secret Telegram setWebhook handoff/api/webhooks/telegram/statusконтракт Telegram webhook

Готово

0

Частично

11

Не сделано

0

Внешний модуль

0

Не реализуем

1

TZV3 completion

80%

Production blockers

22

Audit endpoint

/api/tzv3/status

Frontend / премиальный каталог

Частично

97%

production-blocked

Есть сейчас

  • Next.js App Router, React 18, TypeScript, Tailwind
  • Добавлены TanStack Query, React Hook Form, Zod resolver и Framer Motion
  • Smart Match использует TanStack mutation и Framer Motion для результатов
  • VIP Club verification форма использует React Hook Form + Zod resolver
  • Главная, карточки, фильтры без перезагрузки, страницы анкет, подборки
  • Добавлено privacy-first избранное: карточки, страница /favorites и localStorage policy
  • Добавлен Smart Match блок на главной для подбора по фразе
  • Добавлены реальные lazy video-визитки MP4 для карточек и страниц анкет
  • Добавлен PWA/offline shell с manifest, service worker и /offline
  • Добавлен explicit PWA push opt-in на /favorites: browser permission, privacy checkbox, provider forwarding и DELETE unsubscribe через /api/pwa/push/subscribe
  • Добавлен /api/pwa/push/audit-policy и npm run pwa-push:audit как no-write production gate для VAPID/provider/delete evidence
  • Добавлена закрытая зона /club с VIP/Private preview и заявкой на верификацию
  • Добавлена /intl страница с EN/AR/ZH translation preview
  • Фильтры каталога синхронизируются с URL query params без reload
  • Визуальная палитра приведена к оригинальному ARTESC.SHOP
  • Добавлен /api/frontend/brand и npm run brand:audit: no-network gate точного ARTESC.SHOP accent #db006e, ink #212331 и premium typography guard
  • Header, metadata и OpenGraph используют бренд ARTESC.SHOP вместо временного ART-ESCORT
  • Применен owner-supplied premium-website.skill: шрифтовой стек без Inter, editorial hero, SVG icon strip, subtle grain, PremiumMotion scroll reveal, premium-lift hover depth и reduced-motion fallback
  • Browser QA на localhost подтвердила отсутствие горизонтального overflow на главной и странице анкеты в mobile viewport 390px
  • На мобильной странице анкеты добавлены ранний CTA после intro/цены и sticky-панель действий с profile-aware ссылкой в готовое расписание
  • Добавлен shadcn-compatible UI primitive layer: Button, AnchorButton, buttonVariants, Panel и panelVariants

Следующий шаг

  • production Lighthouse/preview approval
  • approved PWA push provider env + provider-side delete/export evidence

Нужно от владельца

  • финальное визуальное approval по ARTESC.SHOP palette
  • approved PWA push provider env

Блокирует production

  • проверить frontend на preview/final domain через Browser/Lighthouse
  • approved PWA push provider is not configured

Backend / API

Частично

85%

production-blocked

Есть сейчас

  • Read API для каталога, анкет, подборок, статусов
  • Zod-валидация входных параметров
  • Добавлен /api/match как Smart Match контракт для natural-language подбора
  • Добавлены /api/media/video-policy и /api/pwa/policy
  • Добавлен /api/security/policy и app-level proxy guard против scraping/rate-limit
  • Защищенный admin CRUD-контракт через x-admin-token
  • Добавлен защищенный /api/admin/audit и публичный /api/admin/audit/policy для audit log контракта
  • Добавлены /api/club/policy и /api/club/verify для VIP Club verification workflow
  • Добавлены /api/i18n/policy, /api/i18n/profiles и /api/i18n/profiles/[slug] для авто-перевода
  • Добавлен /api/search/policy как контракт Elastic-ready мгновенного поиска
  • Добавлен Elastic/Upstash adapter для /api/search с Redis cache keys на SHA-256 и local fallback
  • Добавлен /api/search/index-manifest с Elastic mapping, settings, документами профилей и sha256 hashes для production index import
  • Добавлен /api/search/bulk-payload и npm run search:bulk-payload для copy-ready Elastic create-index body и bulk NDJSON
  • Добавлен read-only npm run search:audit для проверки Elastic _search и Upstash Redis GET перед production launch
  • Публичные /api/profiles, /api/profiles/[slug], /api/collections и /api/search переключаются на PostgreSQL при наличии DATABASE_URL
  • Добавлен /api/admin/session для подписанной HttpOnly admin-сессии с header fallback
  • Операторский /admin/profiles UI блокирует редактор до активной HttpOnly admin session; x-admin-token остается только API/script fallback
  • Добавлен /api/admin/security-audit-policy и npm run admin:audit как no-write gate для HttpOnly session, noindex admin shell и anonymous rejection
  • Защищенный /api/admin/seo-copy генерирует draft SEO-текста без автосохранения
  • Добавлен /api/filters для URL-фильтров каталога
  • Есть /admin/profiles для операторского upsert/delete анкет

Следующий шаг

  • подключить БД в production
  • импортировать search bulk payload в Elastic Cloud
  • provider-backed NextAuth/SSO поверх admin UI

Нужно от владельца

  • production DATABASE_URL
  • admin secret ownership decision
  • Elastic/Redis provider decision

Блокирует production

  • production database is not connected
  • Elastic/Redis are not configured or indexed

База данных

Частично

74%

production-blocked

Есть сейчас

  • Добавлены Drizzle/PostgreSQL schema и SQL migration
  • Добавлен /api/database/bootstrap-policy для migration/seed/runbook контракта
  • Добавлен /api/database/audit-policy с SELECT-only query inventory, required env, expected tables/indexes, seed baseline и no-secret boundary
  • Добавлен /api/database/migration-manifest с read-only sha256 manifest для SQL миграций
  • Добавлен /api/database/seed-manifest с read-only counts/sha256 manifest для static seed baseline
  • Добавлен /api/database/seed-payload и npm run database:seed-payload для no-write экспорта точного payload перед POST /api/admin/seed
  • Runtime умеет работать в static-seed режиме без DATABASE_URL
  • Добавлен защищенный /api/admin/seed для импорта seed-анкет, media assets, services, подборок и связей в PostgreSQL
  • Admin write-операции фиксируются в admin_audit_logs при подключенной PostgreSQL

Следующий шаг

  • подключить Supabase/Neon DATABASE_URL
  • применить миграции
  • запустить seed import и сверить production data через /api/health

Нужно от владельца

  • Supabase/Neon/PostgreSQL DATABASE_URL
  • production region decision

Блокирует production

  • migrations are not applied to production
  • seed import is not verified against production DB

Отдельное расписание

Частично

89%

external-service

Есть сейчас

  • Все CTA ведут в NEXT_PUBLIC_SCHEDULE_URL с profile-параметром
  • Готовый schedule-проект подключен через iframe/widget: https://australia-wlkk.vercel.app
  • Скрытая /schedule-preview страница встраивает site=artesc и поддерживает site-next только для временной визуальной QA
  • Добавлен /api/schedule/provider-handoff-policy и npm run schedule:provider-handoff для profile-mapped provider drafts перед наполнением site=artesc
  • Добавлен /api/schedule/provider-import-payload и npm run schedule:provider-import-payload для copy-ready providerImportPayload в готовый schedule admin/import
  • Добавлен /api/schedule/provider-reconciliation и npm run schedule:provider-reconciliation для сверки импортируемых provider IDs с публичным tenant site=artesc
  • Добавлен /api/schedule/link-audit-policy и npm run schedule:links:audit для read-only проверки profile/site/lang ссылок каталога в готовое расписание
  • npm run schedule:audit подтверждает iframe 200 и JS widget 200; production tenant site=artesc пока возвращает 0 providers
  • Добавлены /api/schedule/status, /api/schedule/availability и /api/schedule/request
  • Локальный режим dry-run-static валидирует payload и возвращает seed-слоты без фиктивного бронирования
  • SCHEDULE_API_URL переведен в optional server adapter: iframe/widget остаются основным способом подключения готового расписания
  • Добавлен read-only /api/schedule/tenant-status для проверки provider count у site=artesc внутри Artesc site
  • /api/schedule/status отдает copy-ready iframe/widget snippets, draft QA URL и production QA URL

Следующий шаг

  • завести реальные providers для site=artesc
  • подключить optional SCHEDULE_API_URL/API contract только если нужен server-side forwarding
  • синхронизация статусов

Нужно от владельца

  • real provider data for schedule tenant site=artesc
  • server-side schedule API base URL only if iframe/widget is not enough
  • schedule API token only if optional server API requires auth

Блокирует production

  • site=artesc currently returns providers: []

VIP-клуб / закрытая зона

Частично

75%

production-blocked

Есть сейчас

  • Добавлена страница /club с закрытым позиционированием и preview VIP/Private анкет
  • Добавлен dry-run /api/club/verify с Zod-валидацией 18+ и privacy consent
  • Добавлен /api/club/policy с отключенными платежами/подписками до legal/payment approval
  • Добавлен browser-session gate для /club: после валидной заявки создается 12-часовая sessionStorage сессия с ticket id и scope vip-preview-links
  • Контур готов к внешнему Telegram workflow через VIP_CLUB_WEBHOOK_URL
  • Внешний VIP webhook получает ticketId, idempotency header, timestamp и HMAC-SHA256 подпись при VIP_CLUB_WEBHOOK_TOKEN
  • Добавлен /api/club/handoff-policy и npm run club:handoff как no-secret external receiver contract для headers, HMAC, idempotency и human approval
  • Добавлен /api/club/audit-policy и npm run club:audit как no-write production gate без создания verification tickets

Следующий шаг

  • подключить Telegram verification bot
  • утвердить payment/legal model перед подписками

Нужно от владельца

  • Telegram verification workflow
  • legal/payment approval before subscriptions

Блокирует production

  • external VIP verification workflow is not connected
  • subscription/payment flow is intentionally disabled

Telegram / live-статусы

Частично

76%

production-blocked

Есть сейчас

  • Подготовлен webhook-контур для статусов
  • Webhook проверяет x-telegram-bot-api-secret-token и x-webhook-token constant-time при TELEGRAM_WEBHOOK_SECRET
  • Webhook принимает готовый JSON payload и raw Telegram message.text команды: /status, /available, /tonight, /private
  • Webhook принимает нативный Telegram secret header x-telegram-bot-api-secret-token из setWebhook(secret_token) и кастомный x-webhook-token для relay workflow
  • Добавлен /api/webhooks/telegram/setup-policy и npm run telegram:handoff как no-secret BotFather/setWebhook handoff без вызова Telegram API
  • Добавлен npm run telegram:audit: проверка policy, wrong-token 401 и invalid-payload 422 без записи статуса
  • Webhook ищет анкеты DB-first и использует static seed только в local fallback
  • Webhook пишет status event в PostgreSQL при наличии DATABASE_URL
  • Добавлен /api/status/stream как SSE-контракт для браузерных live-статусов
  • Карточки каталога, фильтр статусов и страницы анкет подписываются на stream через LiveStatusBadge/useLiveStatuses

Следующий шаг

  • выполнить Telegram setWebhook или подключить relay workflow
  • production TELEGRAM_WEBHOOK_SECRET
  • pub/sub или database notification channel для мгновенной доставки между heartbeat-снимками

Нужно от владельца

  • Telegram bot/workflow
  • TELEGRAM_WEBHOOK_SECRET

Блокирует production

  • Telegram bot is not connected
  • production webhook secret is not configured

AI-инновации / авто-перевод

Частично

75%

production-blocked

Есть сейчас

  • Добавлен AI/SEO copy contract с безопасным draft-режимом
  • Admin-only SEO copy endpoint вызывает OpenAI Responses API при OPENAI_API_KEY и валидирует JSON через Zod
  • При ошибке OpenAI endpoint возвращает template fallback без автосохранения
  • Добавлен deterministic dry-run перевод профилей на EN/AR/ZH
  • Добавлена страница /intl с preview переводов каталога
  • Добавлены /api/i18n/policy, /api/i18n/profiles?lang= и /api/i18n/profiles/[slug]?lang=
  • Добавлен /api/content-review/policy и защищенный /api/admin/content-review для ручного review generated/translated drafts без автопубликации
  • Добавлен /api/media/enhancement-policy для upscaling/color correction pipeline с human review
  • Добавлен /api/media/asset-manifest с publicPath/R2 key/contentType/bytes/sha256 для CDN/R2 upload contract
  • Добавлен /api/media/public-url-policy и npm run media:public-urls для проверки production-safe HTTPS media URLs перед CDN/schedule import
  • Media/CDN env теперь production-required, а npm run media:audit проверяет CDN assets и R2 env без записи медиа
  • Контракт готов к Google Translate или approved LLM provider через GOOGLE_TRANSLATE_API_KEY

Следующий шаг

  • задать OPENAI_API_KEY и OPENAI_MODEL в production
  • подключить production translation provider
  • загрузить media asset manifest в R2/CDN
  • подключить approved media enhancement provider
  • прогнать реальные generated/translated drafts через admin content-review
  • решить какие языковые страницы индексировать

Нужно от владельца

  • OPENAI_API_KEY
  • OPENAI_MODEL
  • approved translation provider keys

Блокирует production

  • OpenAI/translation/media providers are not configured
  • real generated or translated drafts have not passed admin content-review in production

SEO

Частично

76%

production-blocked

Есть сейчас

  • Metadata, sitemap, robots, JSON-LD WebSite/LocalBusiness/Person/Service/CollectionPage
  • Добавлены ручные и seed-generated programmatic SEO страницы /spb/... и /api/seo/pages
  • Добавлена PostgreSQL-ready таблица programmatic_seo_pages и seed import всей URL matrix
  • /api/seo/pages, /spb/... и sitemap используют DB-first inventory при наличии DATABASE_URL
  • Интерактивные URL-фильтры получают canonical / и X-Robots-Tag noindex, follow
  • Добавлен безопасный policy для Review/AggregateRating JSON-LD без синтетических отзывов
  • Добавлен /api/reviews, /api/reviews/policy и /api/admin/reviews для реального intake/moderation отзывов
  • Profile JSON-LD и /api/seo/review-schema теперь используют PostgreSQL published moderated reviews при наличии DATABASE_URL
  • Добавлен /api/reviews/audit-policy и npm run reviews:audit как no-write gate для real-review JSON-LD без synthetic reviews
  • Добавлен AI/SEO copy contract: /api/seo/copy-policy и admin draft endpoint
  • Добавлен Smart Match policy для future OpenAI/embeddings provider
  • Добавлен Elastic-ready search policy для мгновенного поиска и Redis cache boundary
  • Добавлен search index manifest для Elastic mapping/document hashes перед импортом индекса
  • Добавлен search bulk payload для Elastic create-index body и bulk NDJSON перед search:audit
  • Добавлен npm run search:audit как production gate для Elastic/Redis без записи поисковых данных
  • Добавлен /api/growth/safe-policy по high-risk skills v2: быстрый рост без фейков, ботов и обходов
  • Добавлен npm run seo:audit и /api/seo/technical-audit/policy для проверки sitemap, robots, canonical, JSON-LD и noindex
  • Video-визитки подключены лениво, без индексации отдельного media мусора

Следующий шаг

  • подключить production DB для реальных moderated reviews
  • импортировать search bulk payload и подключить Elastic/Redis
  • подключить approved OpenAI/embeddings provider
  • прогнать TZV3_BASE_URL на production domain

Нужно от владельца

  • final production domain
  • production DB inventory
  • approved analytics/search console access

Блокирует production

  • technical SEO audits have not run against the final domain
  • real moderated reviews are not seeded in production

Юридический контур

Частично

76%

production-blocked

Есть сейчас

  • Есть age gate
  • Добавлены /legal, /legal/terms, /legal/privacy, /legal/content-rules и /legal/takedown
  • Добавлены /legal/data-retention и /api/legal/retention-policy для сроков хранения и удаления данных
  • Добавлен /api/legal/contact-policy для dedicated inbox requirement, takedown/data-subject request fields, SLA targets и no-local-storage boundary
  • Добавлен /api/legal/audit-policy и npm run legal:audit как no-write production gate для legal pages, retention records и dedicated inbox
  • Описаны правила 18+, роль каталога, privacy, модерация контента и takedown-процесс
  • LEGAL_CONTACT_EMAIL теперь является обязательным production env и readiness fail-gate для takedown/data-subject канала
  • Добавлен safe-growth policy: запрет фейковых отзывов/профилей, ботов, обходов и агрессивного парсинга

Следующий шаг

  • финальная проверка юристом
  • выделенный legal/contact email через LEGAL_CONTACT_EMAIL

Нужно от владельца

  • LEGAL_CONTACT_EMAIL
  • final legal review
  • final jurisdiction/payment model decision

Блокирует production

  • legal text is not lawyer-approved
  • dedicated legal contact is not configured

Производительность

Частично

83%

production-blocked

Есть сейчас

  • Next Image, static generation, AVIF/WebP formats, успешный production build
  • MP4 video-визитки суммарно занимают около 124 KB и грузятся лениво
  • Добавлен media asset manifest для полного CDN/R2 inventory всех public model/video assets
  • Добавлен media public URL policy для проверки production-safe HTTPS URLs всех model/video assets
  • Добавлен PWA offline shell с runtime cache для статических/media assets
  • Добавлен /api/performance/budget с Web Vitals и route-response бюджетами
  • Добавлен WebVitalsReporter и /api/performance/vitals для browser field metrics
  • WEB_VITALS_ENDPOINT_URL теперь production-required, а npm run vitals:audit проверяет endpoint без POST метрик
  • Добавлен Vitest unit-test контур для фильтров, Smart Match, VIP Club schema и admin session
  • Добавлен npm run env:check для deploy/env readiness
  • Добавлен npm run load:smoke и /api/quality/load-policy для легкого read-only stress smoke
  • Добавлен npm run readiness для smoke-проверки критичных маршрутов и SSE
  • Добавлен npm run seo:audit как release gate для technical SEO
  • Добавлен npm run media:audit как read-only gate для CDN delivery и R2 env
  • Добавлен npm run vitals:audit как no-write gate для approved Web Vitals sink
  • Добавлен npm run pwa-push:audit как no-write gate для PWA push provider readiness

Следующий шаг

  • Lighthouse на реальном домене
  • полноценное provider-side load testing после WAF/rate-limit approval
  • подключить WEB_VITALS_ENDPOINT_URL или approved analytics
  • загрузить manifest assets в R2/CDN

Нужно от владельца

  • production domain
  • CDN/R2 decision
  • analytics or Web Vitals sink

Блокирует production

  • Lighthouse/Web Vitals are not verified on final domain
  • Cloudflare R2/CDN is not configured or uploaded

Инфраструктура / деплой

Частично

78%

production-blocked

Есть сейчас

  • Есть netlify.toml, env example, health endpoint, readiness endpoint и security headers
  • Добавлен vercel.json для Vercel Next.js деплоя
  • Добавлен /api/infrastructure/deployment/policy и npm run env:check:production для production env gate
  • Добавлен no-network npm run vercel:link:audit и production preflight guard против deploy/env writes в protected schedule project australia-wlkk
  • Добавлен /api/infrastructure/vercel-link для read-only проверки, что проект привязан к website project, а не к australia-wlkk schedule project
  • Добавлен /api/infrastructure/public-origin-policy и npm run origin:audit для проверки canonical domain, schedule URL, media CDN, route proofs и Vercel link guard
  • Добавлен /api/infrastructure/production-evidence и npm run evidence:audit как no-write манифест evidence-команд по всем blocking launch stages
  • Добавлен /api/infrastructure/owner-inputs и npm run owner-inputs для no-secret owner-input packet по всем production stages
  • Добавлен /api/infrastructure/secret-rotation и npm run secrets:rotation для no-write разделения generated secrets, owner/provider credentials, public defaults и post-rotation audits
  • Добавлен GitHub Actions workflow .github/workflows/tzv3-ci.yml, /api/infrastructure/ci-policy и npm run ci:audit для no-write TZV3 quality gate на push/pull_request main
  • Добавлен /api/infrastructure/source-control и npm run source:audit для no-network проверки owner-supplied GitHub repo parkourcafe/artesc перед Vercel env/deploy
  • /admin показывает production gap matrix и owner-input critical path, включая provider-data blocker для готового schedule tenant site=artesc
  • Proxy применяет X-Robots-Tag для фильтров, блокирует известные scraping user-agents на API и отдает X-RateLimit headers
  • Добавлены /api/infrastructure/mirrors/policy и /api/infrastructure/mirrors/check для мониторинга основного домена и зеркал
  • Добавлен read-only npm run cloudflare:audit для проверки Cloudflare zone settings и rulesets без внесения изменений
  • Production preflight включает no-write gates для secret rotation, public origin, production evidence, admin, schedule provider handoff, schedule provider import payload, schedule link audit, schedule provider audit, media public URLs, media CDN audit, PWA push, legal, reviews, search, vitals, database, Telegram, VIP Club и Cloudflare

Следующий шаг

  • реальный Vercel/Cloudflare проект
  • задать production env без placeholder
  • WAF/rate limit настройки в Cloudflare
  • прогнать npm run cloudflare:audit
  • настроить MIRROR_DOMAINS и Cloudflare failover

Нужно от владельца

  • actual Artesc website Vercel project
  • final domain/DNS/Cloudflare access
  • production env values

Блокирует production

  • .vercel/project.json currently points to australia-wlkk
  • required production env variables are missing
  • Cloudflare/DNS/WAF setup is not externally verified

Накрутка поведенческих факторов

Не реализуем

100%

rejected

Есть сейчас

  • Не реализуется как deceptive automation
  • Добавлена легальная retention-механика: локальное избранное без серверного tracking

Следующий шаг

  • видео-визитки
  • opt-in PWA push для избранного после privacy review

Нужно от владельца

  • не требуется

Блокирует production

  • не блокирует