soulwise_persons
ਐਲਬਮ ਐਂਟਰੀਆਂ। userId, status, deletedAt ਉੱਤੇ ਇੰਡੈਕਸ। ਪਹਿਲਾਂ ਸਾਫਟ-ਡਿਲੀਟ; PII ਦਾ ਹਾਰਡ-ਡਿਲੀਟ 30 ਦਿਨਾਂ ਉੱਤੇ।
ਇੰਜੀਨੀਅਰਾਂ, PMs, ਪੱਤਰਕਾਰਾਂ ਅਤੇ ਪਾਰਟਨਰਸ਼ਿਪ ਸਕਾਊਟਸ ਲਈ। ਪੂਰੀ ਪਾਈਪਲਾਈਨ, ਚਾਰ MongoDB ਕਲੈਕਸ਼ਨਾਂ, EDA ਇਵੈਂਟ, V-Model ਦੀ ਸਖ਼ਤੀ, ਪ੍ਰਦਰਸ਼ਨ ਟੀਚੇ, ਸੁਰੱਖਿਆ ਅਤੇ ਪਹੁੰਚਯੋਗਤਾ — ਸਭ ਇੱਕੋ ਪੰਨੇ 'ਤੇ।
ਹਰ ਸਟੈੱਪ ਦੀ ਇੱਕ ਸਰਵਿਸ, ਇੱਕ ਕੌਂਟ੍ਰੈਕਟ ਅਤੇ ਇੱਕ ਇਵੈਂਟ ਹੁੰਦੀ ਹੈ।
ਇੱਕ ਯੂਜ਼ਰ ਕਾਰਵਾਈ — 'Sister ਲਈ ਅੱਜ ਦਾ ਅਧਿਆਏ ਬਣਾਓ' — ਜਾਂ ਇੱਕ ਨਿਰਧਾਰਤ ਕ੍ਰੋਨ, ਜਿਵੇਂ ਐਤਵਾਰ 9 a.m. ਵਾਲਾ ਸਾਰ, ਜਾਂ ਹਰ-6-ਘੰਟੇ ਵਾਲਾ ਮੌਸਮ ਰਿਫ੍ਰੈਸ਼।
ਇਹ ਜੌਬ soulwise-chapter-generation ਨਾਮ ਦੀ ਇੱਕ BullMQ ਕਤਾਰ 'ਤੇ ਆਉਂਦੀ ਹੈ, ਜਿਸ ਦਾ ਸਖ਼ਤ 28-ਸਕਿੰਟ ਟਾਈਮਆਊਟ ਹੈ। ਲੰਮੇ ਚੱਲਣ ਵਾਲੇ ਜੌਬ ਬੰਦ ਕਰ ਦਿੱਤੇ ਜਾਂਦੇ ਹਨ ਅਤੇ ਯੂਜ਼ਰ ਨੂੰ 'ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰੋ' ਵਜੋਂ ਦੱਸੇ ਜਾਂਦੇ ਹਨ।
ChapterGenerationService ਚਾਰ-ਕਾਰਕ ਪ੍ਰੌਂਪਟ — ਵਿਅਕਤੀ ਪ੍ਰਸੰਗ, ਜੋਤਿਸ਼, ਸਿਗਨਲ, ਕੈਡੈਂਸ — ਨੂੰ ਇੱਕੋ ਇਨਪੁੱਟ ਵਿੱਚ ਜੋੜਦਾ ਹੈ। ਕੋਈ ਵੀ ਕੱਚਾ ਯੂਜ਼ਰ PII ਜਿਉਂ ਦਾ ਤਿਉਂ ਪ੍ਰੌਂਪਟ ਵਿੱਚ ਨਹੀਂ ਜਾਂਦਾ; ਹਰ ਚੀਜ਼ ਪਹਿਲਾਂ ਸਾਫ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
ਇੱਕ AI ਪ੍ਰੋਵਾਈਡਰ ਨੂੰ AI_GENERATION_ADAPTER ਸਿੰਬਲ ਟੋਕਨ ਰਾਹੀਂ ਕਾਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ — ਪ੍ਰੋਵਾਈਡਰ ਨੂੰ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਅੱਗੇ ਵਧਣ ਤੋਂ ਪਹਿਲਾਂ ਰਿਸਪਾਂਸ ਦੀ ਲੰਬਾਈ, ਸ਼ਕਲ ਅਤੇ ਸੁਰੱਖਿਆ ਜਾਂਚੀ ਜਾਂਦੀ ਹੈ।
ਚਾਰ ਚੀਜ਼ਾਂ ਹੁੰਦੀਆਂ ਹਨ: ਇੱਕ ਕ੍ਰਾਈਸਿਸ ਕਲਾਸੀਫਾਇਰ ਸੰਕਟ ਵਾਲੀ ਭਾਸ਼ਾ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ; ਇੱਕ ਐਸਪੈਕਟ-ਚਿੱਪ ਐਕਸਟ੍ਰੈਕਟਰ ਇੱਕ ਤੋਂ ਤਿੰਨ ਜੋਤਿਸ਼ ਚਿੱਪ ਕੱਢਦਾ ਹੈ; ਇੱਕ ਐਂਟੀ-ਕਲੇਮ ਫਿਲਟਰ ਮਨ੍ਹਾ ਕੀਤੀਆਂ ਸ਼ਬਦਾਵਲੀਆਂ ਹਟਾ ਦਿੰਦਾ ਹੈ; ਅਤੇ ਪਲੇਟਫਾਰਮ ਵੱਲੋਂ ਪ੍ਰਬੰਧਿਤ ਇੱਕ ਕੁੰਜੀ ਨਾਲ ਬਾਡੀ AES-256 ਇਨਕ੍ਰਿਪਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
ਆਰਟੀਫੈਕਟ ਨੂੰ ਢੁਕਵੀਂ MongoDB ਕਲੈਕਸ਼ਨ ਵਿੱਚ ਲਿਖਿਆ ਜਾਂਦਾ ਹੈ — chapters, journal entries, resonances — ਤੇਜ਼ ਖੋਜ ਲਈ userId ਅਤੇ personId ਇੰਡੈਕਸਾਂ ਨਾਲ। ਪਹਿਲਾਂ ਸਾਫ਼ਟ-ਡਿਲੀਟ; PII ਦਾ ਹਾਰਡ-ਡਿਲੀਟ 30 ਦਿਨਾਂ 'ਤੇ।
ਇੱਕ EventEmitter2 ਇਵੈਂਟ — CHAPTER_COMPLETED, JOURNAL_CREATED — ਡੇਟਾਬੇਸ ਕਮਿਟ ਤੋਂ ਬਾਅਦ ਫਾਇਰ ਹੁੰਦਾ ਹੈ। ਨੋਟੀਫਿਕੇਸ਼ਨ ਮੋਡਿਊਲ ਇਸਨੂੰ ਚੁੱਕਦਾ ਹੈ, ਇੱਕ ਇਨਬਾਕਸ ਆਈਟਮ ਬਣਾਉਂਦਾ ਹੈ, ਅਤੇ ਚਾਹੋ ਤਾਂ ਇੱਕ ਪੁਸ਼ ਭੇਜਦਾ ਹੈ (ਦਿਨ ਵਿੱਚ ਇੱਕ ਤੱਕ ਸੀਮਤ, ਸ਼ਾਂਤ ਘੰਟਿਆਂ ਦਾ ਧਿਆਨ ਰੱਖਦੇ ਹੋਏ)।
ਫ੍ਰੰਟਐਂਡ ਇੱਕ ਪ੍ਰਮਾਣਿਤ API ਕਾਲ ਰਾਹੀਂ ਆਰਟੀਫੈਕਟ ਖਿੱਚਦਾ ਹੈ। ਹੱਬ ਨਵੀਂ ਸਮੱਗਰੀ ਨਾਲ ਮੁੜ-ਰੈਂਡਰ ਹੁੰਦਾ ਹੈ। ਜੇ ਯੂਜ਼ਰ ਆਫ਼ਲਾਈਨ ਸੀ, ਤਾਂ ਕੈਸ਼ ਕੱਲ੍ਹ ਦਾ ਦ੍ਰਿਸ਼ ਦਿਖਾਉਂਦਾ ਹੈ ਅਤੇ ਮੁੜ-ਕਨੈਕਟ ਹੋਣ 'ਤੇ ਨਵਾਂ ਆਰਟੀਫੈਕਟ ਨਜ਼ਰ ਆਉਂਦਾ ਹੈ।
ਹਰ ਇੱਕ ਜਿਹੜੀ ਕਿਊਰੀ ਦਾ ਜਵਾਬ ਦਿੰਦੀ ਹੈ ਉਸ ਲਈ ਇੰਡੈਕਸ ਕੀਤੇ ਗਏ।
ਐਲਬਮ ਐਂਟਰੀਆਂ। userId, status, deletedAt ਉੱਤੇ ਇੰਡੈਕਸ। ਪਹਿਲਾਂ ਸਾਫਟ-ਡਿਲੀਟ; PII ਦਾ ਹਾਰਡ-ਡਿਲੀਟ 30 ਦਿਨਾਂ ਉੱਤੇ।
AI ਦੁਆਰਾ ਲਿਖੇ ਚੈਪਟਰ, ਐਨਕ੍ਰਿਪਟ ਕੀਤਾ ਬੌਡੀ। personId, userId, generatedAt ਉੱਤੇ ਇੰਡੈਕਸ। ਤੇਜ਼ ਫਿਲਟਰਿੰਗ ਲਈ ਐਸਪੈਕਟ ਚਿਪਸ ਵੱਖਰੇ ਐਰੇ ਵਜੋਂ ਸਟੋਰ ਕੀਤੀਆਂ।
ਯੂਜ਼ਰ ਦੁਆਰਾ ਲਿਖੇ ਵਿਚਾਰ, ਐਨਕ੍ਰਿਪਟ ਕੀਤਾ ਬੌਡੀ। userId, personId, createdAt ਉੱਤੇ ਇੰਡੈਕਸ। ਖੋਜ ਲਈ ਟੈਕਸਟ-ਇੰਡੈਕਸ ਕੀਤਾ ਬੌਡੀ। ਹਰ ਐਂਟਰੀ ਲਈ 'private — do not feed to Luminara' ਫਲੈਗ।
ਹਰ ਬੌਂਡ ਲਈ ਚਾਰ-ਡਾਇਮੈਂਸ਼ਨ ਸਕੋਰ। personId ਉੱਤੇ ਯੂਨੀਕ ਇੰਡੈਕਸ। ਚੈਪਟਰ ਜਾਂ ਜਰਨਲ ਲਿਖਣ ਤੋਂ ਬਾਅਦ ਸਰਵਿਸ ਕਾਲ ਰਾਹੀਂ ਮੁੜ-ਗਣਨਾ।
ਸਖ਼ਤ ਨਿਯਮ: ਇਵੈਂਟ ਸਿਰਫ਼ ਡੇਟਾਬੇਸ ਕਮਿਟ ਤੋਂ ਬਾਅਦ ਹੀ ਫ਼ਾਇਰ ਹੁੰਦੇ ਹਨ। ਮੋਡਿਊਲਾਂ ਵਿਚਕਾਰ ਨਿਰਭਰਤਾ Symbol injection tokens ਰਾਹੀਂ, ਕਦੇ ਵੀ forwardRef ਰਾਹੀਂ ਨਹੀਂ। ਫ਼ੀਚਰ ਮੋਡਿਊਲਾਂ ਵਿਚਕਾਰ ਸਿੱਧੇ service-to-service imports ਨਹੀਂ।
SoulwiseEvents.CHAPTER_COMPLETED — SoulwiseEvents.CHAPTER_COMPLETED — ਕਿਸੇ ਚੈਪਟਰ ਦੇ ਇਨਕ੍ਰਿਪਟ ਅਤੇ ਪਰਸਿਸਟ ਹੋਣ ਤੋਂ ਬਾਅਦ ਫ਼ਾਇਰ ਹੁੰਦਾ ਹੈ। Notifications-v2 ਸੁਣਦਾ ਹੈ; inbox ਆਈਟਮ ਬਣਾਉਂਦਾ ਹੈ; ਵਿਕਲਪਿਕ ਤੌਰ 'ਤੇ push ਭੇਜਦਾ ਹੈ।SoulwiseEvents.JOURNAL_CREATED — SoulwiseEvents.JOURNAL_CREATED — ਕਿਸੇ ਜਰਨਲ ਐਂਟਰੀ ਦੇ ਇਨਕ੍ਰਿਪਟ ਅਤੇ ਪਰਸਿਸਟ ਹੋਣ ਤੋਂ ਬਾਅਦ ਫ਼ਾਇਰ ਹੁੰਦਾ ਹੈ। Resonance ਸੇਵਾ ਸੁਣਦੀ ਹੈ; recompute ਟਰਿੱਗਰ ਕਰਦੀ ਹੈ।SoulwiseEvents.PERSON_BIRTH_UPDATED — SoulwiseEvents.PERSON_BIRTH_UPDATED — ਕਿਸੇ ਵਿਅਕਤੀ ਦੇ ਜਨਮ-ਡੇਟਾ ਬਦਲਣ ਤੋਂ ਬਾਅਦ ਫ਼ਾਇਰ ਹੁੰਦਾ ਹੈ। ਸਿਨਾਸਟਰੀ cache ਅਮਾਨ੍ਯ ਹੋ ਜਾਂਦਾ ਹੈ।SoulwiseEvents.PUSH_REQUESTED — SoulwiseEvents.PUSH_REQUESTED — notifications-v2 ਕੰਟਰੈਕਟ ਮੁਤਾਬਕ; push budget ਅਤੇ quiet hours ਦਾ ਖ਼ਿਆਲ ਰੱਖਦਾ ਹੈ।119 ਟ੍ਰੇਸ ਹੋਣ ਯੋਗ ਲੋੜਾਂ, ਜ਼ੀਰੋ ਖੱਪੇ। ਹਰ ਲੋੜ ਅੱਗੇ ਕਿਸੇ ਟੈਸਟ ਕੇਸ (UTP, ITP, STP, E2E) ਨਾਲ ਅਤੇ ਪਿੱਛੇ ਕਿਸੇ user story ਨਾਲ ਮੈਪ ਹੁੰਦੀ ਹੈ। 20 user stories। 15 ਫ਼ੰਕਸ਼ਨਲ ਲੋੜਾਂ। 12 ਗ਼ੈਰ-ਫ਼ੰਕਸ਼ਨਲ ਸ਼੍ਰੇਣੀਆਂ। 8 ਗਲੋਬਲ ਸਵੀਕਾਰ-ਗੇਟ।
ਚੈਪਟਰ ਜਨਰੇਸ਼ਨ 95% ਬੇਨਤੀਆਂ ਲਈ 30 ਸਕਿੰਟ ਜਾਂ ਉਸ ਤੋਂ ਵਧੀਆ, BullMQ job duration distribution ਦੇ ਮੁਕਾਬਲੇ ਮਾਪੀ ਗਈ। API p99 GET latency 1,000 ਸਮਕਾਲੀ ਯੂਜ਼ਰਾਂ 'ਤੇ 500 ms ਜਾਂ ਉਸ ਤੋਂ ਵਧੀਆ, k6 load test ਰਾਹੀਂ ਮਾਪੀ ਗਈ। Frontend TTI ਸਿਮੂਲੇਟ ਕੀਤੇ 4G 'ਤੇ 3 ਸਕਿੰਟ ਜਾਂ ਉਸ ਤੋਂ ਵਧੀਆ, Lighthouse CI ਰਾਹੀਂ ਮਾਪੀ ਗਈ।
ਜਰਨਲ ਅਤੇ ਚੈਪਟਰ ਬਾਡੀਜ਼ ਲਈ ਪਲੇਟਫਾਰਮ-ਪ੍ਰਬੰਧਿਤ ਕੁੰਜੀਆਂ ਨਾਲ at rest AES-256 ਇਨਕ੍ਰਿਪਸ਼ਨ। ਟਰਾਂਜ਼ਿਟ ਵਿੱਚ TLS 1.2+; HTTP→HTTPS ਰੀਡਾਇਰੈਕਟ। JWT ਐਕਸੈਸ ਟੋਕਨ 1-ਘੰਟੇ ਦੀ ਮਿਆਦ ਨਾਲ, ਰਿਫ੍ਰੈਸ਼ ਟੋਕਨ 30-ਦਿਨ ਦੀ ਮਿਆਦ ਨਾਲ, ਰਿਫ੍ਰੈਸ਼ 'ਤੇ ਰੋਟੇਸ਼ਨ। PII ਦੇ ਹਾਰਡ-ਡਿਲੀਟ ਤੋਂ ਪਹਿਲਾਂ 30-ਦਿਨ ਦੀ ਵਿੰਡੋ ਨਾਲ ਸਾਫ਼ਟ-ਡਿਲੀਟ।
prefers-reduced-motion ਨੂੰ ਹਰ ਥਾਂ ਮਾਣ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ — GSAP ਐਨੀਮੇਸ਼ਨ ਸਿਰਫ਼ ਓਪੈਸਿਟੀ ਵਾਲੇ ਫ਼ੇਡ ਬਣ ਜਾਂਦੇ ਹਨ। ਹਰ ਇੰਟਰਐਕਟਿਵ ਤੱਤ ਉੱਤੇ VoiceOver ਅਤੇ TalkBack ਲੇਬਲ। ਹਰ ਰਿਲੀਜ਼ ਤੋਂ ਪਹਿਲਾਂ iOS ਅਤੇ Android ਉੱਤੇ ਹੱਥੀਂ ਜਾਂਚਿਆ ਜਾਂਦਾ ਹੈ।
ਕਿਉਂਕਿ ਅੱਪਸਟ੍ਰੀਮ ਸਪੈੱਕ ਇਸ ਫ਼ੀਚਰ ਨੂੰ ਮੁੜ ਤੋਂ ਬਣਾਉਂਦੀ ਹੈ, ਅਤੇ ਕਿਸੇ ਮੌਜੂਦਾ ਮੌਡਿਊਲ ਅੰਦਰ ਮੁੜ ਬਣਾਉਣ ਨਾਲ ਜਾਂ ਤਾਂ v1 ਅਨੁਭਵ ਟੁੱਟ ਜਾਂਦਾ ਜਾਂ ਬਾਅਦ ਵਿੱਚ ਫ਼ੋਰਕ-ਫਿਰ-ਮਰਜ ਕਰਨਾ ਪੈਂਦਾ। ਇੱਕ ਨਵਾਂ ਮੌਡਿਊਲ v1 ਨੂੰ ਅਛੂਤਾ ਰੱਖਦਾ ਹੈ, v2 ਨੂੰ ਖ਼ੁਦ ਨੂੰ ਸਾਬਤ ਕਰਨ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਤਿਆਰ ਹੋਣ 'ਤੇ ਸਾਫ਼-ਸੁਥਰੇ ਤਰੀਕੇ ਨਾਲ ਮਾਈਗ੍ਰੇਟ ਕਰ ਦਿੰਦਾ ਹੈ।
ਮੌਜੂਦਾ My Zodiac AI ਬੈਕਐਂਡ MongoDB ਉੱਤੇ ਹੈ; ਬਦਲਣ ਦਾ ਮਤਲਬ ਇਸ ਫ਼ੀਚਰ ਨਾਲ ਅਸੰਬੰਧਿਤ ਇੱਕ ਇਨਫ੍ਰਾਸਟ੍ਰਕਚਰ ਫ਼ੈਸਲਾ ਹੋਵੇਗਾ। ਡੌਕੂਮੈਂਟ ਮਾਡਲ ਚੈਪਟਰਾਂ ਅਤੇ ਜਰਨਲ ਐਂਟਰੀਆਂ ਨਾਲ ਵੀ ਵਧੀਆ ਢੁੱਕਦਾ ਹੈ — ਨੈਸਟਡ, ਵੱਖ-ਵੱਖ ਲੰਬਾਈ ਵਾਲਾ, ਬਲੌਬ ਵਜੋਂ ਇਨਕ੍ਰਿਪਟ ਕੀਤਾ।
BullMQ Redis ਉੱਤੇ ਚੱਲਦਾ ਹੈ, ਜੋ ਸੈਸ਼ਨ ਅਤੇ ਰੇਟ-ਲਿਮਿਟ ਲਈ ਪਹਿਲਾਂ ਹੀ ਸਟੈਕ ਵਿੱਚ ਮੌਜੂਦ ਹੈ। ਕੋਈ ਨਵਾਂ ਇਨਫ੍ਰਾਸਟ੍ਰਕਚਰ ਨਹੀਂ। ਬਿਲਟ-ਇਨ ਰੀਟ੍ਰਾਈ, ਟਾਈਮਆਊਟ ਅਤੇ ਔਬਜ਼ਰਵੇਬਿਲਟੀ ਚੈਪਟਰ-ਜਨਰੇਸ਼ਨ ਦੀਆਂ ਲੋੜਾਂ ਨੂੰ ਬਿਨਾਂ ਕਿਸੇ ਕਸਟਮ ਪਲੰਬਿੰਗ ਦੇ ਪੂਰਾ ਕਰ ਦਿੰਦੇ ਹਨ।
ਅੰਦਰੂਨੀ ਰਿਪੋ ਵਿੱਚ। ਇਸ ਪੰਨੇ ਉੱਤੇ ਦਿੱਤੇ ਅੰਕੜੇ ਅਤੇ ਕੰਟ੍ਰੈਕਟ ਅੱਪਸਟ੍ਰੀਮ V-Model ਆਰਟੀਫ਼ੈਕਟਾਂ ਦਾ ਸਾਰ ਪੇਸ਼ ਕਰਦੇ ਹਨ। My Zodiac AI ਦੇ ਬਲੌਗ ਕਲੱਸਟਰ ਉੱਤੇ ਜਨਤਕ ਇੰਜੀਨੀਅਰਿੰਗ ਬਲੌਗ ਪੋਸਟਾਂ ('cosmic-story-v2' ਟੈਗ ਵਾਲੀਆਂ) ਬਿਲਡ ਦੇ ਖ਼ਾਸ ਹਿੱਸਿਆਂ ਵਿੱਚ ਹੋਰ ਡੂੰਘਾਈ ਨਾਲ ਜਾਂਦੀਆਂ ਹਨ।
ਜਦੋਂ Soulwise ਆਪਣੀਆਂ ਲਹਿਰਾਂ ਖੋਲ੍ਹ ਰਿਹਾ ਹੈ, ਸਾਡੀ ਫਲੈਗਸ਼ਿਪ ਜੋਤਿਸ਼ app ਪਹਿਲਾਂ ਹੀ ਤੁਹਾਡੇ ਹੱਥਾਂ ਵਿੱਚ ਹੈ।
ਜੋਤਿਸ਼ ਸਮੱਗਰੀ ਸੋਚ-ਵਿਚਾਰ ਅਤੇ ਮਨੋਰੰਜਨ ਲਈ ਹੈ। ਇੱਥੇ ਦੱਸੀਆਂ ਗਈਆਂ Cosmic Story v2 ਦੀਆਂ ਖ਼ੂਬੀਆਂ ਵਿਕਾਸ ਅਧੀਨ ਹਨ; ਉਪਲਬਧਤਾ ਬਿਨਾਂ ਕਿਸੇ ਸੂਚਨਾ ਦੇ ਬਦਲ ਸਕਦੀ ਹੈ।