PR #4: Input Intelligence + Sutra Context Upgrade (Engine 2.1)#4
Merged
PR #4: Input Intelligence + Sutra Context Upgrade (Engine 2.1)#4
Conversation
- lib/sacredRemedy: diagnosisEngine, sacredSelector, instantLightComposer - dictionaries/sacred: yoga_sutras, puranas, upanishads com kleshaTargets e qualities - dictionaries/remedyMatrix.json: 30 estados (klesha, samkhya, prática, pergunta) - GET /api/instant-light: diagnosisPersonal/Universal, resposta estruturada - lib/diagnosis + lib/instantLight: matriz de remédios integrada ao mock /api/darshan - SymbolicMap, engines (Jyotish, HD, numerologia), readings, APIs map/reading - Histórico: historyStorage, APIs history, HistoryModal - Docs: SACRED_REMEDY_ENGINE, INSTANT_LIGHT_ENGINE, SYMBOLIC_MAP_ENGINE, etc. - /api/darshan mantido intacto (motor paralelo) Co-authored-by: Cursor <cursoragent@cursor.com>
…orpus expandido - types: AyurvedicQuality completo (20 gunas), diagnosis excess/deficient - diagnosisEngine: dosha → qualities (vata/pitta/kapha), prakriti no diagnóstico - ayurvedaActionSelector: prática e alimento por qualidade (ruksha→oleação, chala→grounding) - instantLightComposer: usa getActionsForQualities, retorna food na resposta - remedyMatrix: 50 estados (burnout, solitude, grief, jealousy, numbness, hypercontrol, etc.) - yoga_sutras.json: 60 entradas; puranas.json: 40; upanishads.json: 30 (kleshaTargets + qualities) - docs: seção Engine 2.1 em SACRED_REMEDY_ENGINE.md Co-authored-by: Cursor <cursoragent@cursor.com>
…merologia completa
P0 — Engine único:
- /api/darshan (mock) usa apenas @/lib/sacredRemedy
- lib/instantLight vira re-export/adaptador (compatibilidade)
P1 — Cooldown autônomo:
- getRecentInstantLightIds(userEmail), recordInstantLightUse(userEmail, { sacredId, stateKey })
- Tabela instant_light_uses (migração)
- Mock: se usuário logado, busca ids no servidor e registra uso
P2 — Numerologia completa:
- getSoulUrgeNumber(fullName) (vogais), getPersonalityNumber(fullName) (consoantes)
- SymbolicMap: soulUrgeNumber, personalityNumber
Docs: SACRED_REMEDY_ENGINE.md seção 8 e 9
Co-authored-by: Cursor <cursoragent@cursor.com>
- ENGINE_2.1_VALIDATION.md: status P0/P1/P2 implementados, módulos legados - SACRED_REMEDY_ENGINE: matriz 50 estados, darshan mock usa sacredRemedy + cooldown - lib/diagnosis e lib/sacred: comentários apontando engine oficial sacredRemedy Co-authored-by: Cursor <cursoragent@cursor.com>
…ldown instant-light, corpus expandido - diagnosisEngine: numerologyFromMap no ConsciousDiagnosis; seed em diagnosisPersonal influenciado por lifePath/soulUrge - ayurvedaActionSelector: getActionsForQualitiesWithDosha (prioridade por dosha, até 3 práticas/alimentos) - GET /api/instant-light: cooldown server-side com sessão (getRecentInstantLightIds + recordInstantLightUse) - Corpus: Yoga Sutras 100+, Puranas 80+, Upanishads 50+ - docs: SACRED_REMEDY_ENGINE.md atualizado com seção Engine 2.1 concluído Co-authored-by: Cursor <cursoragent@cursor.com>
…20/20 - docs/PR3_ENGINE_21_STATUS.md: mapeamento GAP #1-#5 (resolvido/parcial/pendente) - lib/instantLight: @deprecated (usar lib/sacredRemedy) - lib/sacred: @deprecated para Instant Light medicinal - ayurvedaActionSelector: antídotos completos para shlakshna e sthula (20/20 gunas) Co-authored-by: Cursor <cursoragent@cursor.com>
- Testes: diagnosisEngine, sacredSelector, ayurvedaActionSelector, instantLightComposer (31 testes) - SacredCorpusEntry: themes?: string[] opcional para corpus premium - diagnosisEngine: NAKSHATRA_KLESHA_TENDENCY + refinamento em diagnosisPersonal - Docs: PR3_ENGINE_21_STATUS e SACRED_REMEDY_ENGINE atualizados Co-authored-by: Cursor <cursoragent@cursor.com>
…ga Sutras 196 P0 - Unificar Instant Light: - Remover lib/instantLight, lib/sacred, lib/diagnosis - Motor unico: lib/sacredRemedy (api/instant-light + darshan mock) P1 - Numerologia completa: - numerologyEngine: lifePathNumber, expressionNumber, soulUrgeNumber, personalityNumber - Usa lib/knowledge/numerology como fonte P2 - Yoga Sutras completos: - yoga_sutras_full.json 196 entradas (kleshaTargets, qualities, themes) - sacredSelector usa yoga_sutras_full.json - scripts/generate-yoga-sutras-full.js para gerar corpus Docs: ENGINE_21_GAPS_FECHADOS.md, SACRED_REMEDY_ENGINE atualizado Co-authored-by: Cursor <cursoragent@cursor.com>
…/routine, corpus themes, testes integração - Ayurveda: prioridade por estação (getSeasonFromDate) e hora (getHourPeriodFromDate); orderByDosha usa season/hour; composer passa ao getFullActionsForQualitiesWithDosha - Resposta Instant Light: campos sleep e routine (getFullActionsForQualitiesWithDosha); tipos InstantLightResponse atualizados - Corpus: themes em todas as entradas de puranas (~106) e upanishads (~64); 25 novas entradas puranas + 10 upanishads - Testes: integração GET /api/instant-light (anon, personal, cooldown sessão, food/sleep/routine); ayurveda season/hour (getSeasonFromDate, getHourPeriodFromDate, getActionsForQualitiesWithDosha com season/hour) - Docs: SACRED_REMEDY_ENGINE (resposta food/sleep/routine, Ayurveda implementado, corpus com themes); PR3_ENGINE_21_STATUS (GAP #1 sem linha redundante); ENGINE_21_GAPS_FECHADOS - Export: getSeasonFromDate, getHourPeriodFromDate em lib/sacredRemedy/index Testes: 160 passando (20 suites). Build: validar localmente (npm run build). Co-authored-by: Cursor <cursoragent@cursor.com>
- app/config/page.tsx: save useCallback usa header inline (X-Config-Key) em vez de headers() para evitar dep faltando - app/monitor/page.tsx: fetchData usa objeto local de headers; remove headers() nao usado - app/page.tsx: useEffect inclui creditsPerRevelation no array de dependencias - package.json: prebuild ignora ENOENT quando pasta build nao existe (evita falha no build) Co-authored-by: Cursor <cursoragent@cursor.com>
…etas - Puranas: 106 -> 400 entradas; corrigir IDs duplicados e klesha em BP.nature1 - Upanishads: 62 -> 200 entradas; todas com kleshaTargets, qualities, themes - Script scripts/expand-sacred-corpus.js para expansão futura - docs/ENGINE_21_PREMIUM_STATUS.md: P2 corpus marcado completo (796 entradas) Co-authored-by: Cursor <cursoragent@cursor.com>
- historyStorage: getRecentInstantLightIds aceita sinceDays (7 dias) - route /api/instant-light: preenche recentSacredIds/recentStateKeys e grava uso para sessão - Testes de integração para modo anônimo, pessoal e anti-repetição Co-authored-by: Cursor <cursoragent@cursor.com>
…oldown e IA narrativa - Tipos: UserRequestContext, DarshanTruthPackage (lib/core) - Input offline: normalizeInput, intentParser (multi-eixo), stateScorer; dicionários inputNormalization/Verbs/Themes/Emotions/Questions - instant-light: retorna DarshanTruthPackage; recebe userText/question/theme; parseIntent + pickBestState; cooldown via historyAdapter - instantLightComposer: retorna DarshanTruthPackage (diagnosis, sacred, practice.steps, food.do, question.text); theme, questionType, inputConfidence - historyAdapter: getRecentSacredIds, getRecentStateKeys, recordInstantLight (cooldown server-side) - sacredSelector: balanceamento de corpora (evita repetir mesmo corpus) - IA: narrativeGateway + POST /api/ai/expand (expansão narrativa com guardrails) - darshan route: usa historyAdapter no mock; compatível com practice/food/question em objeto - Script validateSacredCorpus.ts; exports em lib/input e lib/ai - Testes atualizados (instant-light, composer, intentParser) Co-authored-by: Cursor <cursoragent@cursor.com>
- inputNormalization: tava, mds, cê, aff→frustração, mano/tipo vazio
- inputVerbs: feel/seek/fear/conflict/reflect (remove want)
- inputThemes: general com keywords; love (crush, ex, apego); career (grana, projeto)
- inputQuestions: frases do prompt (como lidar, até quando, etc)
- inputEmotions: formato stateKey→keywords (anxiety, burnout, grief, solitude, emotional_attachment, relational_insecurity, lack_of_purpose, etc)
- intentParser: aceita ambos formatos de inputEmotions (array ou {keywords,stateKeys}); theme general no matching; VerbClassKey sem want
- stateScorer: peso fear+love para emotional_attachment/relational_insecurity/anxiety
Co-authored-by: Cursor <cursoragent@cursor.com>
… real - DarshanTruthPackage: contemplativeQuestion, meta.generatedAt, food.avoid obrigatório, sacred.tags - instantLightComposer: contemplativeQuestion + question (compat), meta.generatedAt, toFoodStruct com avoid - narrativeGateway: usa contemplativeQuestion ?? question - normalizeInput: comentário do pipeline (lowercase, acentos, abreviações, ruído) - stateScorer: fallback confusion (0.3) quando sem candidatos - instant-light: pipeline no comentário, themeFromIntent (tema do parser) - Testes: contemplativeQuestion e meta.generatedAt em instant-light e composer; scoreState fallback confusion - docs/ESTADO_REAL_PR3_ENGINE_21.md: estado real (tudo implementado, wrappers removidos) Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…textual - sutraContextResolver: resolve prev/primary/next por indice - DarshanTruthPackage e types: sacred.supporting + SacredContextBlock - instantLightComposer: inclui verso anterior quando aplicavel - testes sutraContextResolver e atualizacao diagnosisEngine - docs SACRED_REMEDY_ENGINE atualizado Co-authored-by: Cursor <cursoragent@cursor.com>
- prebuild: remove build apenas se existir (evita ENOENT) - instant-light/route: parseTheme(themeParam ?? null) - instantLightComposer: corpus purana, meta.generatedAt, guard meta - ESTADO_REAL: linha Build com status npm run build Co-authored-by: Cursor <cursoragent@cursor.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Escopo
Consolida Engine 2.1 (PR3) + Input Intelligence + Sutra Context (PR4) em um único merge.
Incluído
npm run buildpassa.Docs
docs/ESTADO_REAL_PR3_ENGINE_21.mdatualizado com os 5 críticos e status do build.Changes (todos os commits)
712d34e6f39a3263b0f31c4b83ab3d8b658e47f07eedd9edb6138ad5cfeb3009ec836a47f3a7ddd344c7e26f0064fc08b0ba415fe649de2c9a3199fb8ac06ePronto para merge em
main.