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
{{ message }}
licensing: emissor de licença de dev (issue_dev_license_jwt.py) não emite ML-DSA — quebra o Maestro quando o híbrido for obrigatório #2043
Canon: licença híbrida Ed25519 + ML-DSA-65 obrigatória em todo o roster (ver issue irmã sobre âncora e guard.py). Quando o verificador passar a exigir dbmldsa_sig, todo token emitido sem ele deixa de valer.
O que existe hoje
scripts/issue_dev_license_jwt.py emite licença de dev de vida curta para o modo enforced e não referencia mldsa, dbmldsa_sig nem ml-dsa (verificado via gh api em DataBoar/data-boar@main, 2026-10-05). O Maestro depende dele: handlers/Handle-LicensingMatrix.ps1 (repo DataBoar/maestro) chama esse script.
Hoje isso funciona porque o híbrido é opcional no verify. Com o híbrido obrigatório, o Maestro e qualquer fluxo que use esse emissor passam a receber licença recusada.
Esperado
O emissor de dev gera dbmldsa_sig válido sob o payload canônico, assinado com uma chave ML-DSA de dev, nunca a golden. Isso exige uma âncora de teste equivalente, que só pode existir em build de teste (como o -tags licensetest do kp-license-check).
A chave privada de dev não entra no repositório.
Teste que prova que o token de dev passa no caminho híbrido obrigatório e que o mesmo token sem a claim é recusado.
Critérios de aceite
Token de dev verifica pelo mesmo caminho híbrido de produção, com âncora de teste isolada.
Nenhuma chave privada, nem de dev, commitada.
A matriz de licenciamento do Maestro continua verde com o híbrido obrigatório.
Activity