- Shipped
- 28 de agosto de 2026 às 01:00 UTC
- Author
- Kamo
- Commit
- 30f2bf9
O compositor sempre ofereceu a um autor três fichas sob "Visible to" — Membros, membros da equipa, públicos. Eles foram escritos para a linha e indexados em Qdrant para que o assistente os respeitasse, e então nenhuma leitura humana nunca Olhei para eles novamente. Cada ponto final do artigo foi fechado em VER KB ARTICLES e Nada mais, então um membro que detém apenas esse direito foi servido da organização todo o corpus: material somente em equipe, rascunhos inacabados, artigos aguardando revisão, e o arquivo. KbReaderScope é todo o portão, e a ordem de suas regras é o projeto: org + ainda ativo nunca renunciado, por qualquer direito mantenedor Está a ver tudo? um revisor filtrado pelo público poderia ser atribuído artigo para aprovar e, em seguida, entregou um 404 para ele autor CREATE é separado de EDIT, então um autor que não é um mantenedor ainda deve alcançar seu próprio rascunho PUBLICADO rascunho/em revisão/arquivado são fluxo de trabalho editorial membro da equipe de audiência -> todos os três níveis; qualquer outra pessoa -> público e membros. Cumulativo, não preciso: um artigo aberto ao público não está assim escondido do pessoal A aiEnabled não é deliberadamente consultada — significa "treinar o assistente isso", e exigindo que tornaria o rótulo "Visível" falso. Três fichas off é deixado para significar o que diz; o compositor avisa o autor em vez disso. Aplicado a /artigos, /artigos/árvore, /artigos/overview, /artigos/{guid}, /versions, /media, /search e ambas as superfícies do pino. Notas: - A árvore repare em vez de truncar. Uma página de visão geral apenas em equipa com crianças publicadas é uma forma comum, e caindo a sub-árvore com sua pai esconderia artigos que o autor deliberadamente abriu. Mantido puro e estática para que a regra seja testável sem uma base de dados; também guarda um ciclo pai, em que a velha caminhada teria recorrido. - Filtrar listas antes de chamar. Filtrando uma página que a base de dados já corta folhas o chamador lendo o total como o tamanho do corpus. - as contagens de visão geral vêm da lista filtrada, e agora carrega escopo para que o trilho do console seja extraído da mesma resposta. - Um artigo escondido e um desaparecido ambos respondem 404. Um 403 em um guid é um Oráculo para exatamente o que as bandeiras escondem, e o lançamento de GetByGuid é pego assim O caso perdido não pode escapar como 500 e tornar-se nesse oráculo. - Pinning é fechado como a leitura que mantém; unfing deliberadamente não é, desde um membro mais quer limpar um alfinete cujo artigo foi estreitado para longe deles. Também fecha dois furos de escrita cross-org encontrados no mesmo controlador: /reorder não tinha nenhuma verificação de organização em tudo — EDIT KB ARTICLES em qualquer org poderia reordenar e, através de paiId, repare o artigo de outra org em sua própria árvore — e /restore/{versionNumber} também não tinha nenhum. Todos os outros escrevem aqui verificam. 68 testes verdes, 25 novos.