Aprendizados validados no desenvolvimento do plugin sync:
- KB-PLUGIN-032: subclasse DBmysql read-only para banco externo (gotchas de
senha rawurldecode, query() guard, flag connected).
- KB-PLUGIN-033: comandos de console de plugin exigem src/ + namespace de nome
plugins:<key>:.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Processo definido: (1) acessar DEV CT100, (2) criar plugin direto em
plugins/ para dev+validacao conjunta via interface, (3) push Forgejo DEV,
(4) homologar, (5) push Forgejo PROD.
Regra de ouro: knowledge-base como fonte primaria; core do GLPI na
ausencia de KB; novo KB apos teste validado.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Novo runbook KB-PLUGIN-031: nascimento do plugin ate validacao E2E no
GLPI dev (scaffold, Forgejo local, deploy CT100, console, bootstrap
Kernel para testes CLI). Validado de ponta a ponta com o assetinherit.
- Registros KB-PLUGIN-021..030 existiam apenas no disco (drift) e foram
incluidos no versionamento; index.json sincronizado via kb-fix.
- Ignora lixo AppleDouble/.DS_Store do macOS.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
KB-PLUGIN-019 e KB-PLUGIN-020 estavam sem delimitador YAML.
KB-PLUGIN-011, 017, 018 tinham divergencias no index.json (titulo, status, severity).
Todos corrigidos via kb_check.py --fix.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Script e Makefile agora vivem junto à base que gerenciam.
Caminho anterior: GLPI11/scripts/kb_check.py
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>