You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hoje a paridade plugin/ + _bundle ≡ fonte é detectada pelo claims_audit.py (bundle-parity bidirecional desde o #70/PR #86) mas a sincronização é manual: editar uma skill exige lembrar de rodar scripts/sync_plugin.py, senão o check.py só acusa depois. É disciplina humana onde o repo prega mecanismo — a mesma classe de fricção que o próprio repo eliminou no gate da âncora ("enforced, not just described", PR #60).
Proposta
Mover o sync para o hook de pre-commit (git hook local + instrução no installer):
O check de paridade do claims_audit permanece como rede de segurança (CI e commits feitos sem o hook), mas deixa de ser a primeira linha.
Fail-open honesto: se o sync falhar (ex.: python indisponível no hook), o commit prossegue e o check.py pega depois — nunca prende o desenvolvedor, consistente com a política fail-open dos hooks do loop.
Documentar no CONTRIBUTING/README de hooks.
Critérios de Aceitação
Hook pre-commit sincroniza espelhos automaticamente quando fonte de skill/hook mudou (teste simulando um commit)
mirror_manifest.py é a única fonte da lista de caminhos observados (zero duplicação)
Fail-open coberto por teste; paridade do claims_audit inalterada como backstop
Instalação do hook coberta pelo install.sh/install.ps1 e verificada pelo doctor.py
Contexto
Hoje a paridade
plugin/+_bundle≡ fonte é detectada peloclaims_audit.py(bundle-parity bidirecional desde o #70/PR #86) mas a sincronização é manual: editar uma skill exige lembrar de rodarscripts/sync_plugin.py, senão ocheck.pysó acusa depois. É disciplina humana onde o repo prega mecanismo — a mesma classe de fricção que o próprio repo eliminou no gate da âncora ("enforced, not just described", PR #60).Proposta
Mover o sync para o hook de pre-commit (git hook local + instrução no installer):
mirror_manifest.py(a fonte única de verdade de LEAN_HOOKS/SCRIPTS/TESTS do LEAN_SCRIPTS/LEAN_TESTS duplicated between sync_plugin.py and claims_audit.py — single source of truth #74) e rodasync_plugin.pyautomaticamente, adicionando os espelhos regenerados ao commit.claims_auditpermanece como rede de segurança (CI e commits feitos sem o hook), mas deixa de ser a primeira linha.check.pypega depois — nunca prende o desenvolvedor, consistente com a política fail-open dos hooks do loop.Critérios de Aceitação
mirror_manifest.pyé a única fonte da lista de caminhos observados (zero duplicação)install.sh/install.ps1e verificada pelodoctor.pyRefs: #74 (
mirror_manifest.py), #70 (paridade bidirecional), PR #60 (precedente "enforced, not described").