Gaano ito kahusay gumana — ang patunay sa engineering.

Ang Cosmic Story v2 ay tinukoy gamit ang V-Model methodology. Bawat requirement ay may numero, bawat NFR ay may measurement contract, bawat test target ay may coverage threshold.

  • 119 na natutunton na kinakailangan — walang puwang sa V-Model.
  • Mga target sa performance: 30 s na paglikha ng chapter (p95), 500 ms p99 GET latency, 3 s frontend TTI sa 4G.
  • Seguridad: AES-256 at rest, TLS 1.2+ in transit, JWT na may 1 h access / 30 d refresh, soft-delete na may 30 d PII hard-delete.
  • Accessibility: iginagalang ang prefers-reduced-motion sa buong app; may label ang VoiceOver at TalkBack sa bawat interactive na elemento.

Higpit ng espesipikasyon

Ang Cosmic Story v2 ay may V-Model spec — bawat antas (system, architecture, module, unit) ay may katumbas na mga plano sa pagsubok, na may trace checkpoint sa pagitan ng bawat pares.

V-Model spec

119 na kinakailangan, walang puwang. Ang bawat kinakailangan ay natutunton pasulong sa isang test case at paatras sa isang user story.

20 na user story

May tahasang acceptance criteria ang bawat isa. Ang 9 'Must Have' na story ay humaharang sa release; ang 6 'Should Have' ay gumagabay sa iteration; ang 5 'Could Have' ay para sa phase 2.

15 na functional requirement

Album cap, chapter rate limit, bilang ng resonance dimension, mga panuntunan sa paywall pacing, asal kapag offline — bawat isa ay binilang at sinubok.

12 na non-functional na kategorya

Performance, seguridad, testing, privacy, availability, accessibility — bawat isa ay may measurement contract na nagpapakita kung paano ito napapatunayan.

Mga target sa performance

Hindi mga pangako — nakasulat na mga target na may paraan ng pagsukat para sa bawat isa.

Paggawa ng chapter

30 segundo o mas mabilis para sa 95% ng mga request. Sinusukat batay sa distribusyon ng tagal ng BullMQ job.

Latency ng API

p99 GET /people, /journal, /inbox na mas mababa sa 500 milliseconds sa 1,000 concurrent users. Sinusukat gamit ang k6 load test.

Frontend TTI

Time-to-interactive na 3 segundo o mas mabilis sa simulated 4G. Sinusukat gamit ang Lighthouse CI.

Mga target sa test-coverage

Mga threshold ng statement coverage na ipinapatupad ng `pnpm test:cov` gates.

Mga backend service

85% na target ng statement coverage sa mga service; 80% sa mga controller. Beripikado sa pamamagitan ng mga coverage report ng Vitest.

Mga frontend store + composable

85% sa mga composable; 90% sa mga Pinia store. Parehong Vitest gate, parehong mga report.

Postura ng seguridad

Tunay na mga hakbang, tahasang pinangalanan.

Pag-encrypt sa naka-imbak na datos

Ang mga laman ng journal at chapter ay naka-imbak na naka-encrypt gamit ang AES-256 na may platform-managed na mga key. Walang plaintext na laman sa disk.

TLS habang inililipat

Lahat ng API traffic ay dumadaan sa TLS 1.2 o mas bago. Ang HTTP ay nagre-redirect sa HTTPS sa edge.

Tagal ng JWT

Nag-e-expire ang mga access token pagkatapos ng 1 oras; ang mga refresh token naman pagkatapos ng 30 araw. May token rotation kapag nag-refresh.

Soft delete + PII hard-delete

Soft-delete muna, may 30-araw na window bago ang hard-delete ng personally identifiable information.

Baseline ng accessibility

Hindi ito hangarin lang — isang baseline na ipinatutupad sa code review.

prefers-reduced-motion

Kapag naka-set sa antas ng OS, lahat ng GSAP animations ay nagiging opacity-only na fade. Walang parallax, walang transforms, walang scroll-driven na galaw.

Mga label ng VoiceOver + TalkBack

Bawat interactive na elemento ay may ARIA label. Manu-manong sinusuri sa iOS VoiceOver at Android TalkBack bago ang release.

Mga target ba ito, o kasalukuyang nasukat na mga numero?

Mga target, na may mga measurement contract. Aktibong dinedevelop ang Cosmic Story v2; ang mga numero dito ay galing sa V-Model NFR table na nag-gate sa release. Ang column na 'how it's measured' ang nagsasabi sa iyo kung aling tool ang gumagawa ng verification signal.

Bakit 85% ang backend coverage target sa halip na 100%?

Dahil ang 100% na coverage ay isang vanity metric lang — lampas sa isang punto, sinusubok nito ang mga walang kuwentang code kapalit ng tunay na atensyon sa pagrepaso. Ang 85% statement coverage na may manual na coverage-review sa puwang ang paraan namin para mabalanse ang machine-verifiable na higpit at ang engineering judgment.

Ano ba talaga ang ibig sabihin ng 'crisis-aware bypass' — isa ba itong clinical safety claim?

Hindi. Isa itong mekanismo: ang mga mensaheng namarkahan ng crisis classifier ay hindi saklaw ng libreng pang-araw-araw na limitasyon sa mensahe. Hindi kami nangangako ng clinical na resulta; basta't hindi namin isasara ang pinto sa pinakamasamang sandali. Para sa tunay na crisis resources, mangyaring makipag-ugnayan sa isang lokal na serbisyo — ang Cosmic Story v2 ay hindi isang therapy product.

Subukan ang My Zodiac AI ngayon

Habang binubuksan ng Soulwise ang mga alon nito, nasa kamay mo na ang aming pangunahing astrology app.

Ang nilalamang astrolohiya ay para sa pagninilay at libangan. Ang mga feature ng Cosmic Story v2 na inilalarawan dito ay ginagawa pa; maaaring magbago ang availability nang walang abiso.