modifications
All checks were successful
Mindforge API Build and Deploy / Build Mindforge API Image (push) Successful in 2m10s
Mindforge API Build and Deploy / Deploy Mindforge API (internal) (push) Successful in 8s
Mindforge Web Build and Deploy (internal) / Build Mindforge Web Image (push) Successful in 3m38s
Mindforge Web Build and Deploy (internal) / Deploy Mindforge Web (internal) (push) Successful in 8s
All checks were successful
Mindforge API Build and Deploy / Build Mindforge API Image (push) Successful in 2m10s
Mindforge API Build and Deploy / Deploy Mindforge API (internal) (push) Successful in 8s
Mindforge Web Build and Deploy (internal) / Build Mindforge Web Image (push) Successful in 3m38s
Mindforge Web Build and Deploy (internal) / Deploy Mindforge Web (internal) (push) Successful in 8s
This commit is contained in:
@@ -337,7 +337,7 @@ Exemplos:
|
||||
|
||||
### Tabelas de Flashcard
|
||||
- `flashcard_libraries`: `id`, `file_path` (unico), `file_name`, `subject`, `difficulty`, `card_count`, `created_at`, `updated_at`.
|
||||
- `flashcards`: `id`, `library_id`, `front`, `back`, `position`, `correct_count`, `incorrect_count`, `created_at`.
|
||||
- `flashcards`: `id`, `library_id`, `front`, `back`, `position`, `correct_count`, `incorrect_count`, `last_reviewed_at`, `created_at`.
|
||||
|
||||
### API de Flashcards (v1)
|
||||
- `POST /api/v1/flashcard/generate`
|
||||
@@ -377,16 +377,16 @@ Exemplos:
|
||||
## Atualizacao - Revisao Espacada RAG (2026-06-01)
|
||||
|
||||
### Mudancas de Arquitetura
|
||||
- O dominio de flashcards agora guarda `last_reviewed_at` por card para permitir classificacao temporal.
|
||||
- O status RAG e calculado em tempo de leitura (nao e persistido), para evitar status defasado.
|
||||
- O dominio de flashcards guarda `last_reviewed_at` por card.
|
||||
- O status RAG da revisao espacada e calculado em tempo de leitura **por biblioteca/arquivo** (grupo de cards), nao por card.
|
||||
- O agrupamento de dashboard usa `subject` + `subSubject`, onde `subSubject` vem dos segmentos do caminho apos a materia e antes do arquivo.
|
||||
|
||||
### Regras RAG por Card
|
||||
- `Grey`: card nunca revisado (`last_reviewed_at` nulo).
|
||||
- `Red`: revisado ha 40 dias ou mais **ou** desempenho `< 40%`.
|
||||
- `Amber`: revisado ha 30 dias ou mais **ou** desempenho `<= 60%`.
|
||||
- `Green`: revisado ha menos de 30 dias **e** desempenho `> 60%`.
|
||||
- Desempenho: `correct_count / (correct_count + incorrect_count)`.
|
||||
### Regras RAG por Arquivo (biblioteca)
|
||||
- `Grey`: nenhum card da biblioteca possui `last_reviewed_at`.
|
||||
- `Red`: ultima revisao da biblioteca ha 40 dias ou mais **ou** desempenho agregado `< 40%`.
|
||||
- `Amber`: ultima revisao da biblioteca ha 30 dias ou mais **ou** desempenho agregado `<= 60%`.
|
||||
- `Green`: ultima revisao da biblioteca abaixo de 30 dias **e** desempenho agregado `> 60%`.
|
||||
- Desempenho agregado: `sum(correct_count) / (sum(correct_count) + sum(incorrect_count))`.
|
||||
|
||||
### Banco e Repositorio
|
||||
- Tabela `flashcards` recebeu coluna `last_reviewed_at TIMESTAMPTZ NULL` (migracao idempotente no startup).
|
||||
@@ -395,16 +395,17 @@ Exemplos:
|
||||
### API de Flashcards (v1)
|
||||
- Novo endpoint `GET /api/v1/flashcard/rag-status`:
|
||||
- Retorna dashboard de revisao espacada com grupos por materia/submateria.
|
||||
- Inclui cards com `ragStatus`, `performanceRate`, `totalAnswers` e `lastReviewedAt`.
|
||||
- Inclui bibliotecas/arquivos com `ragStatus`, `performanceRate`, `totalAnswers` e `lastReviewedAt`.
|
||||
- Inclui sumarios por materia/submateria com percentuais:
|
||||
- Verde = `green / (green + amber + red)`
|
||||
- Atencao = `(amber + red) / (green + amber + red)`
|
||||
- Cards cinza ficam fora do denominador.
|
||||
- Arquivos cinza ficam fora do denominador.
|
||||
|
||||
### Frontend
|
||||
- Novo modulo `Revisao Espacada` abaixo de `Revisao Flashcards` na sidebar.
|
||||
- O painel mostra:
|
||||
- status agregados por materia e submateria;
|
||||
- status por arquivo com destaque visual (cores e icones);
|
||||
- filtros por status RAG (Vermelho, Amarelo, Verde, Cinza);
|
||||
- total de cards selecionados para revisao.
|
||||
- A sessao de revisao espacada reutiliza o fluxo de resposta (`Acertei`/`Errei`) e prioriza cards por status (Red, Amber, Green, Grey).
|
||||
- total de arquivos selecionados para revisao.
|
||||
- A sessao de revisao espacada reutiliza o fluxo de resposta (`Acertei`/`Errei`) e prioriza cards de arquivos por status (Red, Amber, Green, Grey).
|
||||
|
||||
Reference in New Issue
Block a user