Busque em todos os bundles de uma vez: okf 1.10.0
🇺🇸 Read in EnglishConhecimento não fica em um bundle só. Tem o manual, tem o serviço do qual você está de plantão, tem o repositório em que você esteve uma hora atrás. A okf 1.8.0 deu um nome a cada um deles e deixou um okf server hospedar todos, e a CLI já conseguia fazer uma pergunta ao conjunto inteiro. A página em que você de fato lê esses bundles, não. De dentro de um bundle, a caixa de busca conhecia só aquele bundle, e uma palavra que morava ao lado devolvia um canvas vazio e nenhuma saída.
A okf 1.10.0 fecha isso. Aperte Cmd-K em qualquer grafo servido e a busca alcança todos os bundles que o hub hospeda.
Um índice, não quatro listas
O jeito óbvio de construir isso é perguntar a cada bundle e concatenar o que voltar. É também o jeito que produz um ranking em que ninguém pode confiar, porque uma pontuação só significa alguma coisa contra o corpus sobre o qual foi calculada. Quatro rankings separados colados em sequência colocam o melhor acerto local de um bundle acima de um acerto muito melhor de outro, por um motivo que o leitor jamais consegue ver.
Então o hub ranqueia um índice sobre todos os bundles que ele hospeda, de uma vez só. Um termo raro no corpus inteiro vale mais que um termo que está em toda parte, que é para isso que serve o motor de índice que a 1.9.0 trouxe, e é o que listas por bundle não conseguem expressar. O que volta é uma ordem em que dá para confiar: a melhor resposta da máquina é a primeira linha, esteja ela no bundle que estiver. Os resultados param em 50 e o total é informado junto, porque um limite silencioso é lido como uma resposta completa e quem acha que já viu tudo para de procurar.
A caixa e a paleta fazem coisas diferentes, e agora dizem isso
A página do grafo tem duas superfícies de busca que pareciam iguais e queriam dizer coisas diferentes. A caixa na barra de cima filtra o grafo à sua frente. O Cmd-K encontra, em todos os bundles. A caixa não carregava nenhum desses fatos, então esvaziava o canvas em silêncio e nunca mencionava a outra.
Três coisas agora vivem dentro da caixa: o atalho que abre a paleta, um contador vivo 4/27 para que um resultado vazio seja lido como um número que chegou a zero e não como uma tela que apagou, e, no zero, um painel que nomeia o bundle e a consulta com a busca entre bundles a uma tecla de distância.
Um canvas em branco não consegue dizer se o grafo está vazio, se o filtro quebrou ou se a página caiu. O 0/27 consegue: o filtro rodou, é isto que ele varreu, e a resposta é genuinamente nada. O Enter entrega a consulta à busca entre bundles já digitada, e o Escape limpa.
O registry veio para dentro da página que ele descreve
Registrar um bundle sempre foi trabalho de um agente num terminal. Ler um, não. Uma reunião com leitores não técnicos resolveu a divisão: okf registry set é a superfície certa para quem escreve bundles e a errada para quem só os lê.
Então a barra lateral ganhou uma engrenagem, e atrás dela o painel Bundles: cada bundle que o servidor conhece, com seu @slug, sua pasta, sua contagem de conceitos e um veredito de saúde, e as três mudanças que valem ser feitas de uma cadeira.
Tornar padrão, renomear, remover. Gerenciar é o padrão e o --read-only recusa, porque o público para quem isso foi feito não deveria precisar de uma linha de comando para usar a página cujo link recebeu. Se você hospeda o hub para outras pessoas, essa é a flag a conhecer. A segurança vem de onde o servidor está ouvindo, e não do que você lembrou de passar: um bind em loopback é gravável, qualquer outro endereço é recusado direto, e não existe flag que abra. Adicionar continua acontecendo no terminal, porque um navegador não consegue entregar um caminho de sistema de arquivos.
refine, o terceiro verbo de autoria
A agent skill tinha dois verbos para manter um bundle honesto: curate mantém a estrutura sã como ela está, maintain mantém o conteúdo verdadeiro. Nenhum dos dois faz a pergunta mais difícil, que é se o conhecimento está no lugar certo.
O refine faz. Ele reestrutura um bundle para extrair o valor que o OKF foi desenhado para dar: revelação progressiva, grafo emergente, tags transversais, capturar uma vez e linkar muitas. Ele parte de evidência, prefere coesão a equilíbrio, usa as alavancas gratuitas antes de mover um arquivo, e propõe em vez de aplicar, devolvendo um relatório e um prompt de execução que você lê antes de qualquer coisa mudar.
Duas visões de leitura tornam essa evidência mecânica em vez de estimada no olho. O okf graph --hubs ranqueia cada conceito por links de entrada e os agrupa por onde esses links nasceram:
$ okf graph --hubs @okf-gem
Hubs — @okf-gem (26 of 27 concepts with inbound links)
capabilities/graph-server ×14 capabilities 5, (root) 3, design 3, model 2, format 1
capabilities/search ×11 design 5, (root) 3, capabilities 3
cli ×11 capabilities 5, design 3, (root) 2, model 1
Um hub cuja maioria de entrada vem de fora da própria área é um conceito morando no diretório errado, e a linha diz isso. E as linhas do okf tags --by agora carregam count/total, então cli 2/8 conta de relance que aquela tag é uma preocupação espalhada pelo bundle, e não um rótulo local de uma área.
Qualquer um pode somar um verbo
O okf agora é extensível. Instale uma gem chamada okf-* e os verbos que ela carrega aparecem no okf help sob installed extensions:, despachados como nativos. Instalar a gem é a instalação inteira: não existe uma lista de addons abençoados e não há nada para você configurar. Um addon quebrado é pulado e reportado em vez de derrubar a CLI junto, e um verbo nativo não custa nada a mais para rodar.
Atualizando
gem update okf
okf server # todos os bundles registrados, uma busca
A entrada completa está no changelog. Se você hospeda o hub para outras pessoas, --read-only é a flag a conhecer; se você escreve bundles, refine é o próximo a experimentar.