Наскільки добре це працює — інженерний доказ.

Cosmic Story v2 описано за методологією V-Model. Кожна вимога має номер, кожен NFR — контракт вимірювання, кожна тестова ціль — поріг покриття.

  • 119 відстежуваних вимог — жодних прогалин у V-моделі.
  • Цільові показники продуктивності: 30 с на генерацію розділу (p95), 500 мс затримки p99 GET, 3 с TTI фронтенду на 4G.
  • Безпека: AES-256 для збережених даних, TLS 1.2+ під час передавання, JWT із доступом на 1 год / оновленням на 30 д, м'яке видалення з остаточним видаленням персональних даних через 30 д.
  • Доступність: prefers-reduced-motion враховується всюди; підписи VoiceOver і TalkBack на кожному інтерактивному елементі.

Строгість специфікації

Cosmic Story v2 постачається зі специфікацією за V-моделлю — кожен рівень (система, архітектура, модуль, юніт) має відповідні плани тестування з контрольними точками трасування між кожною парою.

Специфікація за V-моделлю

119 вимог, жодних прогалин. Кожна вимога простежується вперед до тест-кейсу й назад до користувацької історії.

20 користувацьких історій

Кожна має чіткі критерії приймання. 9 історій «Must Have» блокують реліз; 6 «Should Have» формують ітерацію; 5 «Could Have» — це фаза 2.

15 функціональних вимог

Ліміт альбому, обмеження частоти генерації розділів, кількість вимірів резонансу, правила темпу платного доступу, поведінка офлайн — кожне пронумероване й протестоване.

12 нефункціональних категорій

Швидкодія, безпека, тестування, приватність, доступність сервісу, доступність для всіх — кожна з контрактом вимірювання, що показує, як це перевіряється.

Цілі швидкодії

Не обіцянки — записані цілі з методом вимірювання для кожної.

Генерація розділів

30 секунд або швидше для 95% запитів. Вимірюється за розподілом тривалості завдань BullMQ.

Затримка API

p99 для GET /people, /journal, /inbox менше 500 мілісекунд за 1,000 одночасних користувачів. Вимірюється навантажувальним тестом k6.

TTI фронтенду

Час до інтерактивності 3 секунд або краще на симульованому 4G. Вимірюється через Lighthouse CI.

Цілі покриття тестами

Порогові значення покриття інструкцій, що забезпечуються гейтами `pnpm test:cov`.

Бекенд-сервіси

Ціль покриття інструкцій 85% для сервісів; 80% для контролерів. Перевіряється через звіти покриття Vitest.

Фронтенд-сховища + composables

85% для composables; 90% для сховищ Pinia. Той самий контроль Vitest, ті самі звіти.

Стан безпеки

Реальні заходи, названі прямо.

Шифрування у стані спокою

Тексти щоденника та розділів зберігаються зашифрованими за AES-256 із ключами, якими керує платформа. На диску немає текстів у відкритому вигляді.

TLS під час передавання

Увесь трафік API через TLS 1.2 або новіший. HTTP перенаправляється на HTTPS на межі мережі.

Час життя JWT

Токени доступу спливають через 1 годину; токени оновлення — через 30 днів. Ротація токенів під час оновлення.

М'яке видалення + остаточне стирання персональних даних

Спершу м'яке видалення, а потім — 30-денне вікно перед остаточним стиранням персональних даних.

Базовий рівень доступності

Не прагнення, а базовий рівень, який ми контролюємо під час рев'ю коду.

prefers-reduced-motion

Коли це налаштовано на рівні операційної системи, усі анімації GSAP стають плавним згасанням лише через прозорість. Жодного паралаксу, жодних трансформацій, жодного руху від прокрутки.

Підписи для VoiceOver + TalkBack

Кожен інтерактивний елемент має підпис ARIA. Перевіряємо вручну на iOS VoiceOver та Android TalkBack перед релізом.

Це цілі чи поточні виміряні показники?

Цілі, з контрактами вимірювання. Cosmic Story v2 перебуває в активній розробці; числа тут походять із таблиці NFR за V-Model, яка визначає допуск до релізу. Колонка «як це вимірюється» показує тобі точно, який інструмент дає сигнал верифікації.

Чому цільове покриття бекенду — 85%, а не 100%?

Бо покриття 100% — це показник для марнославства: після певної межі воно перевіряє тривіальний код коштом справжньої уваги до рев'ю. Покриття інструкцій на 85% з ручним переглядом прогалин — ось як ми врівноважуємо машинно-перевірювану строгість і інженерне чуття.

Що насправді означає «обхід із врахуванням кризи» — це що, заява про клінічну безпеку?

Ні. Це механізм: повідомлення, які позначає кризовий класифікатор, не підпадають під безкоштовний денний ліміт повідомлень. Ми не обіцяємо клінічних результатів — ми просто не замикаємо двері в найгіршу мить. Щодо справжньої кризової допомоги, будь ласка, звернися до місцевої служби — Cosmic Story v2 не є терапевтичним продуктом.

Спробуй My Zodiac AI вже сьогодні

Поки Soulwise розгортає свої хвилі, наш флагманський астрологічний застосунок уже в твоїх руках.

Астрологічний контент створено для роздумів і розваги. Функції Cosmic Story v2, описані тут, перебувають у розробці; їхня доступність може змінитися без попередження.