"Executa e avalia cenários determinísticos do Forge Lab — fixtures offline com contrato expected.yaml, comparação expected-vs-observed por prefixo de regra e categoria, chaos controlado por profiles. Use para validar analyzer novo, regredir regras, criar cenário novo para um finding, simular falha no grafo, ou avaliar o próprio platform-forge. Não substitui pytest (cobre comportamento unitário; Lab cobre o pipeline analyze→judge)."
Instal·la
npx skillscat add edgarsocrates98/platform-forge/platformforge-lab Instal·la des del registre de SkillsCat.
Forge Lab — avaliação determinística
Cenário = lab/scenarios/<nome>/ com fixture/ (artefatos) +expected.yaml (analyzers, rules_fired, categories). 44 cenários,
incl. 12 fleet-* sobre a fixture compartilhada lab/fleets/acme.
Verbos
platformforge lab list # cenários
platformforge lab run <nome> # um
platformforge lab run-all # suite
platformforge lab chaos <dir> --profile static|container|kubernetes|cloudProfiles não-static são recusados sem --allow-profile; alvo real de
produção recusado sem --allow-prod — boundary por design, não erro.
Criar cenário
lab/scenarios/<nome>/fixture/com os artefatos mínimos.expected.yaml:analyzers: [iac|k8s|gha|gitops|secrets|iam|slo|finops|supply|catalog|crossplane|fleet_report|…],rules_firedpor prefixo (PF-K8S-),categories.lab run <nome>— runner roda analyze+judge e compara.
Domínios por arquivo único leem um nome fixo dentro de fixture/:iam→policy.json, supply→supply.json, finops→costs.json,slo→slo.yaml + events.yaml. Os demais (iac, k8s, gha, gitops,
secrets, sbom, catalog, crossplane) varrem fixture/ inteira.
Disciplina
rules_firedé prefixo — liste regra inteira se o caso depende dela.- Cenário que passa com finding errado ainda falhou — confira
observed. - Fixture não contém segredo real — usar placeholder + pattern.