Regras de Funcionamento — Busca Geral do OLA

Regras para geração, atualização, uso e evolução do subsistema de busca geral do OLA.

1. Finalidade

Esta página define as regras de funcionamento do subsistema Busca Geral do OLA. Seu objetivo é orientar como a busca deve ser gerada, atualizada, usada e evoluída dentro da arquitetura do OLA.

2. Posicionamento no OLA

A Busca Geral do OLA é um subsistema de recuperação de conhecimento. Ela não produz conhecimento diretamente; ela permite localizar artefatos já existentes na estrutura física do OLA.

Conhecimento estruturado
        ↓
Artefatos publicados
        ↓
Pastas e arquivos do OLA
        ↓
busca_index.json
        ↓
busca.html
        ↓
Recuperação pelo usuário

3. Regra de escopo

A busca deve localizar apenas arquivos públicos e úteis para consulta, aprendizagem, navegação e recuperação de conhecimento no OLA.

Inclui Não inclui inicialmente
Páginas HTML e HTM Arquivos privados
Imagens PNG, JPG, JPEG, SVG e WEBP Arquivos temporários
Arquivos PDF publicados Arquivos de sistema
Demandas, entregas, fundamentos e domínios publicados Pastas de backup, rascunho ou desenvolvimento interno

4. Regra da fonte da verdade

A fonte primária da busca deve ser a estrutura física real do OLA, isto é, suas pastas e arquivos.

Estrutura física do OLA
        ↓
gerar_busca_index.py
        ↓
busca_index.json
        ↓
busca.html

Portanto, a busca não deve depender de cadastro manual item a item.

5. Regra de geração do índice

O arquivo busca_index.json deve ser gerado automaticamente por um script local, executado no Mac, antes da publicação.

python3 gerar_busca_index.py

O script deve percorrer as pastas autorizadas, identificar os arquivos permitidos e montar um índice consultável pela página busca.html.

6. Regra de atualização

Sempre que houver inclusão, exclusão ou alteração relevante de páginas, imagens ou PDFs, o índice deve ser atualizado.

Situação Ação necessária
Nova página HTML Rodar o gerador e publicar o novo busca_index.json.
Nova imagem Rodar o gerador para a imagem aparecer na busca.
Arquivo removido Rodar o gerador para retirar o item do índice.
Arquivo renomeado Rodar o gerador para atualizar nome e caminho.

7. Regra de nomenclatura

Os nomes dos arquivos devem favorecer a recuperação. O nome do arquivo também é informação de busca.

Preferir Evitar
ola_como_organismo_vivo.png imagem1.png
requisitos_busca_geral_ola.html pagina_final.html
sistema_cognitivo_conhecimento_ola.html texto_novo.html

8. Regra de classificação automática

Cada item indexado deve receber informações derivadas automaticamente do próprio caminho e da extensão do arquivo.

{
  "titulo": "OLA como Organismo Vivo",
  "caminho": "demandas/ola_organismo_vivo/ola_como_organismo_vivo.png",
  "area": "demandas",
  "formato": "imagem",
  "extensao": "png"
}

9. Regra de recuperação

A busca deve considerar, no mínimo, os seguintes elementos:

  • nome do arquivo;
  • caminho do arquivo;
  • área ou pasta principal;
  • tipo de arquivo;
  • extensão do arquivo.

Exemplo: a busca por organismo vivo deve recuperar arquivos cujo nome ou caminho contenha esses termos, mesmo que o usuário não saiba o nome completo.

10. Regra de abertura dos resultados

Todo resultado encontrado deve possuir link clicável para abertura do arquivo.

  • Páginas HTML devem abrir como páginas navegáveis.
  • Imagens devem abrir em nova aba ou painel do navegador.
  • PDFs devem abrir no visualizador do navegador.

11. Regra de miniaturas

Quando o resultado for uma imagem, a busca deve mostrar uma miniatura clicável.

Resultado de imagem:
- título
- miniatura clicável
- caminho clicável
- área
- extensão

12. Regra de exclusão da indexação

O gerador deve ignorar arquivos e pastas que não devem aparecer para o usuário final.

.DS_Store
.git/
__pycache__/
node_modules/
backup/
rascunhos/
arquivos_temporarios/
*.tmp
*.bak

13. Regra de segurança

A busca não deve expor arquivos privados, notas sensíveis, versões internas não publicáveis, arquivos pessoais ou qualquer conteúdo que não faça parte do OLA público.

Antes de publicar o busca_index.json, deve-se verificar se não há caminhos indevidos no índice.

14. Regra de responsividade

A página de busca deve funcionar em celular, tablet, desktop e TV, respeitando o padrão visual do OLA.

  • No desktop, pode usar filtros e resultados em área ampla.
  • No celular, os resultados devem aparecer em cards empilhados.
  • Miniaturas não devem ultrapassar a largura da tela.
  • Caminhos longos devem quebrar linha ou ter rolagem controlada.

15. Regra de funcionamento sem back-end

Na primeira versão, a busca deve funcionar apenas com:

HTML
CSS
JavaScript
JSON

Ela não deve depender de banco de dados, login, PHP, Node.js ou Python no servidor. O Python será usado apenas localmente para gerar o índice.

16. Regra de publicação

Após gerar o índice no Mac, devem ser publicados na Hostinger:

busca.html
busca_index.json
novas páginas
novas imagens
novos PDFs

O arquivo gerar_busca_index.py pode permanecer no Mac e não precisa ser publicado, a menos que seja desejado como documentação técnica.

17. Regra para testes e TDD

Para cada regra importante da busca, deve existir pelo menos um caso de teste.

Regra Teste esperado
Buscar imagem por nome Buscar organismo vivo deve retornar a imagem correspondente.
Abrir resultado Clicar no resultado deve abrir o arquivo.
Ignorar arquivo temporário Arquivos .tmp não devem aparecer no índice.
Atualizar índice Após novo arquivo e nova geração, o item deve aparecer na busca.

18. Regra de evolução

A busca deve começar simples, mas preparada para evoluir.

  • Versão 1: busca por nome, caminho, área e extensão.
  • Versão 2: extração de título das páginas HTML.
  • Versão 3: busca em conteúdo textual das páginas.
  • Versão 4: filtros por demanda, entrega, domínio, fundamento e tipo de artefato.
  • Versão 5: busca semântica ou apoio por IA.

19. Síntese das regras

A Busca Geral do OLA deve recuperar conhecimento a partir da estrutura física do próprio OLA. Ela deve funcionar sem back-end, com índice JSON gerado automaticamente, links clicáveis, miniaturas para imagens, filtros simples e atualização por geração local.

20. Rastreabilidade entre requisitos e regras

Requisito Regras relacionadas Sentido da relação
RF01 — Buscar páginas HTML 3. Escopo; 9. Recuperação; 10. Abertura Define quais páginas entram na busca, como são recuperadas e como são abertas.
RF02 — Buscar imagens 3. Escopo; 9. Recuperação; 10. Abertura; 11. Miniaturas Define inclusão de imagens, localização, abertura e visualização por miniatura.
RF03 — Abrir resultados 10. Abertura Garante que todo resultado seja clicável.
RF04 — Exibir miniatura de imagens 11. Miniaturas Garante apresentação visual para imagens recuperadas.
RF05 — Filtrar por área 8. Classificação; 9. Recuperação Depende da identificação automática da área pelo caminho do arquivo.
RF06 — Filtrar por formato 8. Classificação; 9. Recuperação Depende da identificação do formato e da extensão do arquivo.
RF07 — Buscar por nome e caminho 7. Nomenclatura; 9. Recuperação Relaciona o nome significativo dos arquivos com sua recuperação pela busca.
RF08 — Gerar índice automaticamente 4. Fonte da verdade; 5. Geração do índice; 6. Atualização Define que o índice nasce da estrutura física real do OLA.
RF09 — Ignorar arquivos desnecessários 12. Exclusão; 13. Segurança Evita que arquivos temporários, privados ou indevidos sejam indexados.
RF10 — Exibir quantidade de resultados 9. Recuperação; 14. Responsividade Define retorno visível e compreensível ao usuário.
RNF01 — Funcionar sem back-end 15. Sem back-end; 16. Publicação Define que a solução inicial usa HTML, CSS, JavaScript e JSON.
RNF03 — Ser responsiva 14. Responsividade Garante funcionamento em celular, tablet, desktop e TV.
RNF05 — Evitar cadastro manual 4. Fonte da verdade; 5. Geração do índice Garante que o índice seja automático, não manual.
RNF07 — Preservar segurança 12. Exclusão; 13. Segurança Impede exposição de arquivos privados ou indevidos.