Skip to content

feat: fontes extra do ISS — transcrições com minuto e calendário acadêmico - #14

Merged
GaabDevWeb merged 1 commit into
GaabDevWeb:mainfrom
Adailtononato:feat/transcripts-calendar-sources
Sep 19, 2026
Merged

GaabDevWeb merged 1 commit into
GaabDevWeb:mainfrom
Adailtononato:feat/transcripts-calendar-sources

Conversation

@Adailtononato

Copy link
Copy Markdown
Contributor

Complementa o PR do ISS "knowledge extras" (transcrições brutas com [mm:ss] + calendário acadêmico por trimestre na tabela knowledge). Este lado só ensina o KernelBot a apresentar essas rows; nada de schema, API ou busca muda.

O que muda

core/disciplines.json — nova disciplina calendario (/calendario). Marcadores só de intenção de data (prazo, data de entrega, quando é a entrega, feriado, recesso, trimestre…). Deliberadamente sem tp1/assessment: "como faço a questão 2 do TP1 de SQL?" continua a ir para SQL. Verificado com _infer_query_discipline_from_text:

'quando é a entrega do tp2?'            → calendario
'como faço a questão 2 do tp1 de sql?'  → visualizacao-sql
'o que é left join'                     → None
'tem feriado semana que vem?'           → calendario

core/systemPrompt/system_prompt.txt — duas linhas na secção "Uso do material injectado": citar aula + minuto quando o trecho for transcrição («aula 11, por volta de [23:10]»); responder calendário pela semana e lembrar que o dia exato é do professor.

engine/context.py_build_source_details_for_ui: rows fora do catálogo (transcrições, calendário) usam a 1.ª linha do chunk como título do card. Antes o card mostrava o slug cru (transcricao__11__18052026). Com o catálogo presente, nada muda.

Wiki10-integracao-iss-fase5b.md ganha a secção "Rows extra"; FAQ 19 atualizada (datas de TP/AT e "o que o professor disse").

Smoke test

8 disciplinas (7 + calendario)
transcrição → lesson_title: "Transcrição da aula 11 — Python para Processamento de Dados (18/05/2026)" | module: "Aula 11"
calendário  → lesson_title: "Calendário acadêmico 2026 — Trimestre 4" | module: None

Chunking (_chunk_text, 500 palavras) sobre as 84 transcrições do ISS: 1.942 chunks, todos com marcador de minuto exceto 1 ponta final.

Observações

  • /health/catalog passará a listar essas chaves em index_only; o verify do ISS já as exclui da contagem.
  • Como o silo calendario só existe se houver rows no MySQL, sem o PR do ISS este PR é inócuo (a disciplina aparece no menu, mas a busca não devolve nada).

🤖 Generated with Claude Code

…êmico

Complementa o PR do ISS que passa a gravar na tabela `knowledge`, além das
lições resumidas, (a) a transcrição bruta de cada aula com marcadores
`[mm:ss]` e (b) o calendário acadêmico oficial por trimestre
(discipline `calendario`).

- core/disciplines.json: disciplina `calendario` (/calendario) com marcadores
  de intenção de data (prazo, entrega, feriado, recesso…). Sem "tp1"/
  "assessment" para não desviar dúvidas de conteúdo sobre o TP.
- system_prompt.txt: citar aula + minuto quando o trecho vier de
  transcrição; responder calendário por semana e lembrar que o dia exato é
  do professor.
- engine/context.py: rows fora do catálogo usam a 1.ª linha do chunk como
  título do card de fonte (antes: slug cru).
- wiki 10 e FAQ 19: documentação das rows extra.

Nenhuma mudança de schema nem de API. Chaves extra aparecem como
`index_only` no /health/catalog, o que não é falha.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@Adailtononato

Copy link
Copy Markdown
Contributor Author

Complementa GaabDevWeb/ISS#3 (que grava as rows extra no MySQL). Sem ele, este PR é inócuo: a disciplina /calendario aparece no menu, mas a busca não devolve nada. Série completa: STRIPPERscrapper#3 → ISS#3 → este.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants