Epic_1_Sprint_9 Implement top concepts job - robbiemu/aclarai GitHub Wiki
Desenvolver e implementar um job agendado para identificar e destacar os conceitos mais importantes do grafo de conhecimento, utilizando algoritmos de centralidade como PageRank nos nós (:Concept)
do Neo4j. O resultado será um arquivo Markdown (Top Concepts.md
) listando os conceitos mais relevantes do sistema, sua classificação e backlinks, conforme o design de páginas de destaque em On-Writing-Vault-Documents.md
.
- Implementação de um job agendado (utilizando o
aclarai-scheduler
de Sprint 3) para executar PageRank nos nós(:Concept)
do Neo4j. - Desenvolvimento de lógica para selecionar os top N conceitos por pontuação de PageRank, onde N é configurável via
Design-Config-Panel.md
(Seção 4: "Concept Highlight & Summary Jobs",top_concepts.count
oupercent
). - Criação ou atualização do arquivo
Top Concepts.md
no vault, listando os conceitos selecionados, sua classificação (rank) e backlinks. -
Formatação do conteúdo de
Top Concepts.md
para facilitar a navegação e a legibilidade, seguindo o padrão de "Trending Concepts Agent" emOn-Writing-Vault-Documents.md
(Seção "Trending Concepts Agent"). -
Utilização da lógica de escrita atômica para arquivos Markdown (
.tmp
→fsync
→rename
) implementada em Sprint 3 (Epic_1_Sprint_3-Create-agent-and-integration-for-Tier-2.md
e detalhada emOn-Filehandle-Conflicts.md
). - Integração com o sistema de agendamento do
aclarai-scheduler
(de Sprint 3), permitindo que o job seja configurado e executado automaticamente (conformeArchitecture.md
eEpic_1_Sprint_6-Add-configuration-controls.md
). - Documentação clara do processo e configuração.
- Implementação de testes para verificar o correto funcionamento e a qualidade da saída.
- Garantia de que o arquivo Top Concepts.md gerado inclua seus próprios marcadores (ou similar) para que o arquivo possa ser rastreado e sincronizado pelo sistema de vault (On-Graph-Vault-Synchronization.md). A granularidade de aclarai:id para itens de lista individuais pode ser considerada para futuras iterações, mas o arquivo como um todo deve ser rastreável.
- O job executa PageRank corretamente nos nós
(:Concept)
do Neo4j (definidos emOn-Concepts.md
). - Os top N conceitos são selecionados adequadamente por pontuação de PageRank, respeitando o número configurável (N).
- O arquivo
Top Concepts.md
é criado ou atualizado no diretório alvo (configurável viatarget_file
). - O conteúdo de
Top Concepts.md
inclui os nomes dos conceitos, sua classificação (rank) e backlinks[[wikilink]]
para as páginas de conceito correspondentes, seguindo o formato deon-writing_vault_documents.md
. - A escrita do arquivo
Top Concepts.md
utiliza a lógica de escrita atômica de forma robusta e segura. - A integração com o sistema de agendamento funciona corretamente, permitindo a execução automática ou manual do job.
- A documentação clara do processo e configuração está disponível.
- Testes automatizados demonstram a funcionalidade e robustez do job, incluindo a seleção correta dos conceitos e a geração do arquivo Markdown.
- O arquivo Top Concepts.md gerado inclui seus próprios marcadores aclarai:id e ver= para compatibilidade com o vault sync.
- Neo4j configurado e populado com nós
(:Concept)
(criados emEpic_1_Sprint_5-Create-Update-Tier-3.md
). - Sistema de agendamento (
aclarai-scheduler
comAPScheduler
) implementado e funcional (deEpic_1_Sprint_3-Bootstrap-scheduler-and-vault-sync-job.md
). - Acesso ao sistema de arquivos para criação e atualização de arquivos Markdown.
- Lógica de escrita atômica para arquivos Markdown implementada (de
Epic_1_Sprint_3-Create-agent-and-integration-for-Tier-2.md
). - Definição da configuração para "Top Concepts" em
Design-Config-Panel.md
.
- Código-fonte do job de Top Concepts (dentro do serviço
aclarai-scheduler
). - Implementação da lógica de execução de PageRank e seleção de conceitos.
- Geração do arquivo Markdown
Top Concepts.md
com o formato especificado. - Documentação técnica do processo e configuração.
- Testes unitários e de integração.
- 2 dias de trabalho
-
Risco: Desempenho inadequado com grande número de conceitos no grafo, impactando o cálculo de PageRank.
- Mitigação: Otimizar consultas Cypher para cálculo de PageRank e seleção dos top N. Considerar a frequência de execução do job (e.g., semanal em vez de diária para grafos muito grandes).
-
Risco: Os conceitos selecionados não refletem a importância real ou são muito genéricos/irrelevantes.
-
Mitigação: Calibrar o algoritmo de PageRank (e.g., ponderando arestas se aplicável). A configuração de
metric
permite flexibilidade futura para tentar outras métricas de centralidade comodegree
.
-
Mitigação: Calibrar o algoritmo de PageRank (e.g., ponderando arestas se aplicável). A configuração de
-
Risco: Arquivo
Top Concepts.md
gerado muito grande ou difícil de navegar em vaults com muitos conceitos.-
Mitigação: Implementar a configuração de
count
oupercent
para limitar o número de conceitos exibidos. A formatação em lista com backlinks deve ser concisa.
-
Mitigação: Implementar a configuração de
- Utilizar os algoritmos de centralidade de grafo nativos do Neo4j (Graph Data Science Library) para o cálculo eficiente de PageRank.
- A seleção dos top N conceitos deve ser baseada no valor configurado em
aclarai.config.yaml
(top_concepts.count
outop_concepts.percent
). - O formato do arquivo
Top Concepts.md
deve seguir o exemplo de páginas de destaque emon-writing_vault_documents.md
, utilizando[[wikilinks]]
para os conceitos. - O job deve ser capaz de ler e aplicar as configurações de
target_file
(nome do arquivo de saída) emetric
(PageRank ou Degree). - O logging detalhado da execução do job, incluindo o número de conceitos processados e os top N selecionados, será crucial para monitoramento.
- Este job contribui diretamente para a proposta de valor de "Top Concept Page" em
Product-Definition.md
.