Pular para conteúdo

Auditoria de integração de providers — v1.10.1

Todas as nove tarefas novas entram por AiTaskRegistry, PromptRegistry, schema Pydantic estrito, opt-in externo e AiRun. O consumer comum é modules/ai/career_workflows.py; as rotas apenas selecionam a tarefa permitida.

feature task / prompt schema provider path fallback / purpose evidência, trace e consumer status
Interview interview_question_generation / interview_question_generation_v1 InterviewQuestionGenerationOutput Gemini/OpenAI via runtime career_advice local conservador / interview source_refs, AiRun, /api/v1/interviews/ai/... implementado
Interview interview_answer_drafting / interview_answer_drafting_v1 InterviewAnswerDraftingOutput padrão rascunho vazio / interview escopo mínimo e revisão implementado
STAR star_story_structuring / star_story_structuring_v1 StarStoryStructuringOutput padrão estrutura vazia / star números exigem evidência implementado
Follow-up follow_up_drafting / follow_up_drafting_v1 FollowUpDraftingOutput padrão draft sem envio / follow_up AiRun redigido implementado
Career Plan career_plan_explanation / career_plan_explanation_v1 CareerPlanExplanationOutput padrão explicação local / career_plan revisão humana implementado
Certificação certification_recommendation_explanation / certification_recommendation_explanation_v1 CertificationRecommendationExplanationOutput padrão exige fonte / certification não confirma requisito implementado
Projeto project_gap_recommendation / project_gap_recommendation_v1 ProjectGapRecommendationOutput padrão candidato local / gap_project sem inventar experiência implementado
Opportunity opportunity_enrichment / opportunity_enrichment_v1 OpportunityEnrichmentOutput padrão sem fatos novos / opportunity_intelligence top-K pode consumir o resultado implementado
Taxonomy taxonomy_mapping_explanation / taxonomy_mapping_explanation_v1 TaxonomyMappingExplanationOutput padrão candidato / taxonomy confirmação humana obrigatória implementado

Limites de dados

O provider externo só é chamado quando external_ai_opt_in=true. O payload deve conter contexto mínimo, sem histórico completo ou PII desnecessária. Erros passam pelo redator central, incluindo chaves Gemini modernas AQ.. Respostas inválidas ou falhas de provider produzem fallback local explícito e rastreável.

Exceção arquitetural da extensão

A extensão pode chamar Gemini/OpenAI no service worker por contrato próprio, com chave em chrome.storage.local ou sessão, nunca no DOM. Esse caminho possui schema, sanitização e fallback equivalentes e não é compartilhado com o frontend web.