soulwise_persons
Abubuwan album. Indexes a kan userId, status, deletedAt. Soft-delete da farko; hard-delete na PII a rana 30.
Ga injiniyoyi, PMs, 'yan jarida, da masu binciken haɗin gwiwa. Cikakken pipeline, tarin MongoDB huɗu, abubuwan EDA, ƙwarewar V-Model, manufofin aiki, tsaro, da samun dama — duka a shafi ɗaya.
Kowane mataki yana da sabis, kwangila, da abin da ya faru.
Aikin mai amfani — 'samar da babin yau na 'Yar'uwa' — ko cron da aka tsara, kamar taƙaitawar Lahadi 9 na safe, ko sabunta yanayi a duk-bayan-6-awa.
Aikin yana saukar a kan layin BullMQ mai suna soulwise-chapter-generation, tare da iyakar lokaci na 28 na daƙiƙa mai tsanani. Ana kashe ayyukan da suke ɗaukar lokaci mai tsawo a kuma sanar da mai amfani da 'sake gwadawa'.
ChapterGenerationService yana haɗa umarni mai abubuwa huɗu — yanayin mutum, ilimin taurari, sigina, da yawan maimaitawa — zuwa shigarwa guda ɗaya. Babu wani bayanin sirri na mai amfami (PII) da ke shiga umarnin kai tsaye; ana tace komai tukuna.
Ana kiran mai bayar da AI ta hanyar alamar AI_GENERATION_ADAPTER — ana iya musanya mai bayarwa. Ana duba amsar dangane da tsawo, siffa, da aminci kafin ci gaba.
Abubuwa huɗu na faruwa: mai rarraba rikici yana duba harshen rikici; mai cire aspect-chip yana fitar da chip ɗin taurari guda ɗaya zuwa uku; mai tace anti-claim yana cire kalmomin da aka hana; ana ɓoye jikin saƙon da AES-256 ta amfani da maɓallin da dandamali ke sarrafawa.
Ana rubuta abin da aka samar a cikin tarin MongoDB da ya dace — surori, shigarwar littafin tarihi, resonances — tare da indexes na userId da personId don saurin nema. Soft-delete da farko; hard-delete na PII bayan kwanaki 30.
Wani taron EventEmitter2 — CHAPTER_COMPLETED, JOURNAL_CREATED — yana faruwa bayan an aikata aiki a database. Sashin sanarwa yana ɗauke shi, yana ƙirƙirar abu a inbox, kuma a wasu lokuta yana aika push (an iyakance shi zuwa sau ɗaya a rana, ana mutunta lokutan shiru).
Frontend ɗin yana ɗauko abin da aka samar ta hanyar kiran API da aka tantance. Hub ɗin yana sake nunawa da sabon abun ciki. Idan mai amfani ba ya kan layi, cache ɗin yana nuna ra'ayin jiya kuma sabon abin da aka samar yana bayyana lokacin sake haɗawa.
An tsara su domin tambayoyin da kowanne yake amsawa.
Abubuwan album. Indexes a kan userId, status, deletedAt. Soft-delete da farko; hard-delete na PII a rana 30.
Surori da AI ya rubuta, jiki da aka ɓoye. Indexes a kan personId, userId, generatedAt. Ana adana aspect chips a matsayin array daban domin tace cikin sauri.
Tunani da mai amfani ya rubuta, jiki da aka ɓoye. Indexes a kan userId, personId, createdAt. Jikin da aka tsara da text-index domin bincike. Tutar 'na sirri — kada a ba Luminara' ga kowane shigarwa.
Makin girma huɗu ga kowace alaƙa. Unique index a kan personId. Ana sake lissafa shi ta hanyar kiran sabis bayan an rubuta surori ko journal.
Ƙa'ida mai tsauri: abubuwan da suka faru suna tashi ne kawai bayan an aiwatar da commit na ma'ajin bayanai. Dogaro tsakanin module ta hanyar Symbol injection tokens, ba taɓa ta forwardRef ba. Babu shigo da sabis-zuwa-sabis kai tsaye tsakanin module na fasali.
SoulwiseEvents.CHAPTER_COMPLETED — SoulwiseEvents.CHAPTER_COMPLETED — yana tashi bayan an ɓoye babi an kuma adana shi. Notifications-v2 yana saurara; yana ƙirƙirar abu a inbox; a wani lokaci yana aika push.SoulwiseEvents.JOURNAL_CREATED — SoulwiseEvents.JOURNAL_CREATED — yana tashi bayan an ɓoye shigarwar journal an kuma adana ta. Sabis na Resonance yana saurara; yana jawo sake ƙididdigewa.SoulwiseEvents.PERSON_BIRTH_UPDATED — SoulwiseEvents.PERSON_BIRTH_UPDATED — yana tashi bayan bayanan haihuwar mutum sun canza. Cache na Synastry ya zama maras inganci.SoulwiseEvents.PUSH_REQUESTED — SoulwiseEvents.PUSH_REQUESTED — bisa kwangilar notifications-v2; yana girmama kasafin push da lokutan shiru.119 buƙatu masu yiwuwar bibiya, babu gibi. Kowace buƙata tana haɗawa gaba zuwa wani gwajin (UTP, ITP, STP, E2E) da baya zuwa labarin mai amfani. 20 labaran masu amfani. 15 buƙatu na aiki. 12 rukunoni marasa aiki. 8 ƙofofin karɓa na duniya.
Samar da babi cikin 30 daƙiƙu ko mafi kyau ga 95% na buƙatu, an auna gwargwadon rarraba tsawon aikin BullMQ. Latency na API p99 GET 500 ms ko mafi kyau a kan masu amfani 1,000 a lokaci guda, an auna ta gwajin nauyi na k6. TTI na Frontend 3 daƙiƙu ko mafi kyau a kan 4G da aka kwaikwaya, an auna ta Lighthouse CI.
Ɓoye AES-256 a lokacin ajiya tare da makullan da dandamali ke sarrafawa ga jikin journal da babi. TLS 1.2+ a lokacin tafiya; juyawa HTTP→HTTPS. JWT access tokens masu rayuwar awa 1, refresh tokens masu rayuwar kwana 30, juyawa lokacin refresh. Soft-delete tare da tagar kwana 30 kafin hard-delete na PII.
Ana mutunta prefers-reduced-motion a ko'ina — rayar da hotunan GSAP suna zama bayyanawa kawai na opacity. Lakabin VoiceOver da TalkBack a kan kowane abu mai hulɗa. An tabbatar da hannu a iOS da Android kafin kowane fitarwa.
Saboda ƙayyadaddun bayanai na sama suna sake gina fasalin, kuma sake ginawa cikin module da ke nan zai ko ya lalata ƙwarewar v1 ko a yi fork-sannan-haɗewa daga baya. Sabon module yana kiyaye v1 ba tare da taɓawa ba, yana barin v2 ya tabbatar da kansa, kuma yana ƙaura cikin tsabta lokacin da ya shirya.
Backend na My Zodiac AI da ke nan yana kan MongoDB; canzawa zai zama yanke shawara na infrastructure da ba shi da alaƙa da wannan fasalin. Samfurin takarda kuma ya dace da surori da shigarwar journal sosai — masu gida-cikin-gida, masu tsayi daban-daban, masu ɓoyewa-a-matsayin-blob.
BullMQ yana gudana a kan Redis, wanda ya riga ya kasance a cikin stack don session da rate-limit. Babu sabon infrastructure. Sake gwadawa, lokacin ƙarewa, da lura da aka gina ciki suna rufe bukatun samar da surori ba tare da bututun musamman ba.
Repo na cikin gida. Lambobi da kwangiloli a wannan shafin suna sake fasalin kayan tarihin V-Model na sama. Rubuce-rubucen blog na injiniya na jama'a a kan tarin blog na My Zodiac AI (mai lakabin 'cosmic-story-v2') suna shiga zurfi cikin takamaiman sassan ginin.
Yayin da Soulwise ke buɗe raƙumansa, babbar manhajarmu ta ilimin taurari tana hannunka tuni.
Abubuwan ilimin taurari na nuni ne don tunani da nishaɗi. Fasalolin Cosmic Story v2 da aka bayyana a nan suna cikin ginawa ne; samuwarsu na iya sauyawa ba tare da sanarwa ba.