@daniellins/power-claude 0.16.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of @daniellins/power-claude might be problematic. Click here for more details.
- package/LICENSE +21 -0
- package/README.md +121 -0
- package/bin/cli.js +124 -0
- package/installer/__tests__/doctor-ready-oracles.test.cjs +140 -0
- package/installer/__tests__/merge-settings.test.cjs +330 -0
- package/installer/adopt.js +161 -0
- package/installer/copy.js +203 -0
- package/installer/doctor.js +266 -0
- package/installer/install.js +155 -0
- package/installer/manifest.js +102 -0
- package/installer/motor-scripts.js +50 -0
- package/installer/motor-scripts.json +39 -0
- package/installer/uninstall.js +99 -0
- package/installer/update.js +376 -0
- package/installer/util.js +113 -0
- package/installer/wizard.js +64 -0
- package/package.json +26 -0
- package/scripts/__fixtures__/anti-path-demo/agents/ap-writer.md +13 -0
- package/scripts/__fixtures__/anti-path-demo/templates/write-tmpl.md +7 -0
- package/scripts/__fixtures__/anti-path-demo/workflows/wf-ap.smoke.json +10 -0
- package/scripts/__fixtures__/anti-path-demo/workflows/wf-ap.yaml +25 -0
- package/scripts/__fixtures__/assess-tier/retrofit-leve/pod/agents/content-chief.md +1 -0
- package/scripts/__fixtures__/assess-tier/retrofit-leve/pod/workflows/wf-criacao-redteam.yaml +3 -0
- package/scripts/__fixtures__/assess-tier/retrofit-leve/pod-spec.json +13 -0
- package/scripts/__fixtures__/fidelity/fake-green-average-in-band.yaml +21 -0
- package/scripts/__fixtures__/fidelity/fake-green-average.yaml +18 -0
- package/scripts/__fixtures__/fidelity/fake-green-denominator.yaml +19 -0
- package/scripts/__fixtures__/fidelity/fake-green-missing-evidence.yaml +18 -0
- package/scripts/__fixtures__/fidelity/fake-green-threshold.yaml +18 -0
- package/scripts/__fixtures__/fidelity/fake-green-weight.yaml +18 -0
- package/scripts/__fixtures__/fidelity/golden.yaml +31 -0
- package/scripts/__fixtures__/fidelity/trindade-incoherent.yaml +15 -0
- package/scripts/__fixtures__/forge-canonical/pod-spec-example.json +37 -0
- package/scripts/__fixtures__/migrate-squad/authored/agents/offer-engineer.md +17 -0
- package/scripts/__fixtures__/migrate-squad/authored/knowledge/no-source.md +7 -0
- package/scripts/__fixtures__/migrate-squad/authored/knowledge/value-stack-method.md +8 -0
- package/scripts/__fixtures__/migrate-squad/authored/specs/wf-sample.smoke.json +24 -0
- package/scripts/__fixtures__/migrate-squad/authored/specs/wf-sample.spec.json +45 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/HEADLINE.md +3 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/README.md +4 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/agents/hormozi-offer.md +14 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/checklists/dead-redundant.md +4 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/checklists/method-guide.md +6 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/checklists/veto-screen.md +4 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/config/config.yaml +2 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/data/case-library.md +3 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/scripts/validate-mvn.py +16 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/sops/sop-sample.md +3 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/squad-io.yaml +14 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/tasks/gather-context.md +7 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/templates/output-tmpl.md +5 -0
- package/scripts/__fixtures__/migrate-squad/legacy-squad/workflows/wf-sample.yaml +24 -0
- package/scripts/__fixtures__/pipeline/pipelines/pipeline-checkpoint.yaml +21 -0
- package/scripts/__fixtures__/pipeline/pipelines/pipeline-demo.yaml +22 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-a/agents/maker.md +13 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-a/memory/learnings.consolidated.md +8 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-a/memory/learnings.jsonl +83 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-a/templates/make-tmpl.md +8 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-a/workflows/wf-a.yaml +16 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-b/agents/user.md +13 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-b/memory/learnings.consolidated.md +8 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-b/memory/learnings.jsonl +14 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-b/templates/use-tmpl.md +6 -0
- package/scripts/__fixtures__/pipeline/pods/pipe-b/workflows/wf-b.yaml +16 -0
- package/scripts/__fixtures__/pod-run/agents/forge-chief.md +13 -0
- package/scripts/__fixtures__/pod-run/agents/pod-critic.md +13 -0
- package/scripts/__fixtures__/pod-run/templates/build-tmpl.md +8 -0
- package/scripts/__fixtures__/pod-run/templates/gate-tmpl.md +6 -0
- package/scripts/__fixtures__/pod-run/workflows/wf-min.yaml +43 -0
- package/scripts/__fixtures__/pod-run/workflows/wf-skip-modes.yaml +50 -0
- package/scripts/__fixtures__/pod-workflow/invalid-checkpoint-all-skippable.yaml +30 -0
- package/scripts/__fixtures__/pod-workflow/invalid-checkpoint-criteria-escalar-de-bloco.yaml +40 -0
- package/scripts/__fixtures__/pod-workflow/invalid-checkpoint-skip-mode-desconhecido.yaml +30 -0
- package/scripts/__fixtures__/pod-workflow/invalid-checkpoint-unknown-key.yaml +29 -0
- package/scripts/__fixtures__/pod-workflow/invalid-cycle.yaml +26 -0
- package/scripts/__fixtures__/pod-workflow/invalid-fix-loop-backedge.yaml +29 -0
- package/scripts/__fixtures__/pod-workflow/invalid-fix-loop-forward.yaml +29 -0
- package/scripts/__fixtures__/pod-workflow/invalid-handoff-open.yaml +27 -0
- package/scripts/__fixtures__/pod-workflow/invalid-knowledge-shape.yaml +18 -0
- package/scripts/__fixtures__/pod-workflow/invalid-missing-agent.yaml +15 -0
- package/scripts/__fixtures__/pod-workflow/invalid-missing-outputs.yaml +15 -0
- package/scripts/__fixtures__/pod-workflow/invalid-missing-template.yaml +15 -0
- package/scripts/__fixtures__/pod-workflow/invalid-missing-veto.yaml +13 -0
- package/scripts/__fixtures__/pod-workflow/invalid-template-not-on-disk.yaml +16 -0
- package/scripts/__fixtures__/pod-workflow/invalid-veto-prose.yaml +17 -0
- package/scripts/__fixtures__/pod-workflow/knowledge/a.md +4 -0
- package/scripts/__fixtures__/pod-workflow/knowledge/b.md +4 -0
- package/scripts/__fixtures__/pod-workflow/knowledge/c.md +4 -0
- package/scripts/__fixtures__/pod-workflow/templates/step-tmpl.md +7 -0
- package/scripts/__fixtures__/pod-workflow/valid-checkpoint-skip-modes.yaml +29 -0
- package/scripts/__fixtures__/pod-workflow/valid-fix-loop.yaml +30 -0
- package/scripts/__fixtures__/pod-workflow/valid-knowledge.yaml +30 -0
- package/scripts/__fixtures__/pod-workflow/valid-veto-always-true.yaml +20 -0
- package/scripts/__fixtures__/pod-workflow/valid.yaml +27 -0
- package/scripts/__fixtures__/smoke-canary/agents/canary-reporter.md +13 -0
- package/scripts/__fixtures__/smoke-canary/agents/canary-researcher.md +13 -0
- package/scripts/__fixtures__/smoke-canary/agents/canary-synth.md +13 -0
- package/scripts/__fixtures__/smoke-canary/memory/learnings.consolidated.md +10 -0
- package/scripts/__fixtures__/smoke-canary/memory/learnings.jsonl +448 -0
- package/scripts/__fixtures__/smoke-canary/templates/report-tmpl.md +9 -0
- package/scripts/__fixtures__/smoke-canary/templates/research-tmpl.md +7 -0
- package/scripts/__fixtures__/smoke-canary/templates/synth-tmpl.md +9 -0
- package/scripts/__fixtures__/smoke-canary/workflows/wf-canary.smoke.json +11 -0
- package/scripts/__fixtures__/smoke-canary/workflows/wf-canary.yaml +53 -0
- package/scripts/__fixtures__/source-audit/fake-green-bronze-unsignaled.yaml +10 -0
- package/scripts/__fixtures__/source-audit/fake-green-counts.yaml +9 -0
- package/scripts/__fixtures__/source-audit/fake-green-missing-evidence.yaml +9 -0
- package/scripts/__fixtures__/source-audit/fake-green-unclassified.yaml +10 -0
- package/scripts/__fixtures__/source-audit/fake-green-verdict.yaml +10 -0
- package/scripts/__fixtures__/source-audit/golden-blocked.yaml +10 -0
- package/scripts/__fixtures__/source-audit/golden.yaml +11 -0
- package/scripts/__fixtures__/sweep-forms/agents/forms-count.md +13 -0
- package/scripts/__fixtures__/sweep-forms/agents/forms-field.md +13 -0
- package/scripts/__fixtures__/sweep-forms/agents/forms-fileref.md +13 -0
- package/scripts/__fixtures__/sweep-forms/agents/forms-json.md +13 -0
- package/scripts/__fixtures__/sweep-forms/agents/forms-section.md +13 -0
- package/scripts/__fixtures__/sweep-forms/specs/wf-forms.spec.json +5 -0
- package/scripts/__fixtures__/sweep-forms/templates/t_count.md +5 -0
- package/scripts/__fixtures__/sweep-forms/templates/t_field.md +3 -0
- package/scripts/__fixtures__/sweep-forms/templates/t_fileref.md +3 -0
- package/scripts/__fixtures__/sweep-forms/templates/t_json.md +0 -0
- package/scripts/__fixtures__/sweep-forms/templates/t_section.md +3 -0
- package/scripts/__fixtures__/sweep-forms/workflows/wf-forms.smoke.json +13 -0
- package/scripts/__fixtures__/sweep-forms/workflows/wf-forms.yaml +67 -0
- package/scripts/__fixtures__/validate-story-acs-corpus/corpus-1-noop-state-json.fixture.md +18 -0
- package/scripts/__fixtures__/validate-story-acs-corpus/corpus-2-crash-buildworkflowyaml.fixture.md +26 -0
- package/scripts/__fixtures__/validate-story-acs-corpus/corpus-3-nasce-verde-skip-modes.fixture.md +29 -0
- package/scripts/__fixtures__/validate-story-acs-corpus/corpus-4-guarda-sem-irmao.fixture.md +17 -0
- package/scripts/__fixtures__/validate-story-acs-corpus/corpus-5a-diff-stat-sem-guarda.fixture.md +17 -0
- package/scripts/__fixtures__/validate-story-acs-corpus/corpus-5b-test-f-sobre-diretorio.fixture.md +20 -0
- package/scripts/__fixtures__/veto-checks/copy-clean.md +4 -0
- package/scripts/__fixtures__/veto-checks/copy-dashes.md +4 -0
- package/scripts/__fixtures__/veto-checks/n8n-bad.md +18 -0
- package/scripts/__fixtures__/veto-checks/n8n-ok.md +22 -0
- package/scripts/__fixtures__/veto-checks/page-bad.html +7 -0
- package/scripts/__fixtures__/veto-checks/phash/copy.png +0 -0
- package/scripts/__fixtures__/veto-checks/phash/distinct.png +0 -0
- package/scripts/__fixtures__/veto-checks/phash/distinct2.png +0 -0
- package/scripts/__fixtures__/veto-checks/phash/make-fixtures.cjs +203 -0
- package/scripts/__fixtures__/veto-checks/phash/ref.png +0 -0
- package/scripts/__fixtures__/veto-checks/slide-ok.html +15 -0
- package/scripts/__fixtures__/veto-checks/slide-overflow.html +14 -0
- package/scripts/__fixtures__/veto-checks/sweep-pod/agents/vc-checker.md +13 -0
- package/scripts/__fixtures__/veto-checks/sweep-pod/templates/check-tmpl.md +6 -0
- package/scripts/__fixtures__/veto-checks/sweep-pod/workflows/wf-vc.smoke.json +10 -0
- package/scripts/__fixtures__/veto-checks/sweep-pod/workflows/wf-vc.yaml +19 -0
- package/scripts/__fixtures__/voz-do-dono/README.md +23 -0
- package/scripts/__fixtures__/voz-do-dono/dono-escalar.yaml +9 -0
- package/scripts/__fixtures__/voz-do-dono/dono-guia.yaml +10 -0
- package/scripts/__fixtures__/voz-do-dono/peca-3a-pessoa.md +6 -0
- package/scripts/__fixtures__/voz-do-dono/peca-com-lexico-proibido.md +6 -0
- package/scripts/__fixtures__/voz-do-dono/peca-limpa-1a-pessoa.md +6 -0
- package/scripts/__tests__/derive-ready-transitions.test.cjs +269 -0
- package/scripts/__tests__/enforce-cycle-authority.test.cjs +869 -0
- package/scripts/__tests__/enforce-git-push-authority.test.cjs +701 -0
- package/scripts/__tests__/enforce-ready-oracles.test.cjs +745 -0
- package/scripts/__tests__/motor-scripts.test.cjs +339 -0
- package/scripts/__tests__/pc-run-pod-counter.test.cjs +58 -0
- package/scripts/__tests__/pc-run-pod.test.cjs +578 -0
- package/scripts/__tests__/validate-pod-workflow.test.cjs +90 -0
- package/scripts/__tests__/validate-story-acs.test.cjs +607 -0
- package/scripts/anti-path.test.cjs +163 -0
- package/scripts/arena.cjs +514 -0
- package/scripts/arena.test.cjs +213 -0
- package/scripts/brief-leitura-obrigatoria.test.cjs +364 -0
- package/scripts/consolidate-knowledge-runner.test.cjs +249 -0
- package/scripts/default-funcional.test.cjs +153 -0
- package/scripts/derive-ready-transitions.cjs +325 -0
- package/scripts/forge-additive.test.cjs +158 -0
- package/scripts/forge-assess-tier.cjs +205 -0
- package/scripts/forge-assess-tier.test.cjs +114 -0
- package/scripts/forge-canonical.test.cjs +624 -0
- package/scripts/forge-generate.cjs +1303 -0
- package/scripts/forge-harden-learning.cjs +921 -0
- package/scripts/forge-harden-learning.test.cjs +242 -0
- package/scripts/forge-ingest-memory.cjs +136 -0
- package/scripts/forge-upgrade-pod.cjs +368 -0
- package/scripts/forge.test.cjs +609 -0
- package/scripts/harden-knowledge.test.cjs +612 -0
- package/scripts/harness-g5-lite.cjs +243 -0
- package/scripts/harness-g5-lite.test.cjs +134 -0
- package/scripts/hn-carousel-contrato-entrada.test.cjs +96 -0
- package/scripts/migrate-squad-orchestration.test.cjs +146 -0
- package/scripts/migration-manifest-sf3.2.test.cjs +382 -0
- package/scripts/migration-manifest-sf3.3.test.cjs +170 -0
- package/scripts/migration-manifest-sf5.5.test.cjs +189 -0
- package/scripts/migration-manifest.cjs +1146 -0
- package/scripts/migration-manifest.test.cjs +186 -0
- package/scripts/npm-scope-invocation.test.cjs +194 -0
- package/scripts/owner-layer.cjs +442 -0
- package/scripts/owner-layer.test.cjs +358 -0
- package/scripts/pc-run-pipeline.cjs +289 -0
- package/scripts/pc-run-pipeline.test.cjs +256 -0
- package/scripts/pc-run-pod-countgte.test.cjs +66 -0
- package/scripts/pc-run-pod.cjs +1355 -0
- package/scripts/phash-gate.test.cjs +433 -0
- package/scripts/pod-export-compile.cjs +487 -0
- package/scripts/pod-export-compile.test.cjs +312 -0
- package/scripts/pod-export-executor.cjs +678 -0
- package/scripts/pod-export-executor.test.cjs +1341 -0
- package/scripts/pod-export-hardening.test.cjs +531 -0
- package/scripts/pod-export-postprocess.cjs +427 -0
- package/scripts/pod-export-postprocess.test.cjs +558 -0
- package/scripts/pod-export-queue-race.test.cjs +865 -0
- package/scripts/pod-export-release.cjs +473 -0
- package/scripts/pod-export-release.test.cjs +267 -0
- package/scripts/pod-export-service.cjs +1297 -0
- package/scripts/pod-export-service.test.cjs +489 -0
- package/scripts/pod-export-tools.cjs +470 -0
- package/scripts/pod-export-ui.cjs +805 -0
- package/scripts/pod-export-ui.test.cjs +301 -0
- package/scripts/pod-memory-budget.test.cjs +309 -0
- package/scripts/pod-memory-note.cjs +357 -0
- package/scripts/pod-memory-note.test.cjs +452 -0
- package/scripts/pod-memory.cjs +1252 -0
- package/scripts/pod-memory.test.cjs +951 -0
- package/scripts/render-png.test.cjs +307 -0
- package/scripts/smoke-isolation.test.cjs +100 -0
- package/scripts/smoke-pod-workflow.cjs +755 -0
- package/scripts/smoke-sweep.test.cjs +170 -0
- package/scripts/validate-adopt.js +235 -0
- package/scripts/validate-branding.js +84 -0
- package/scripts/validate-budgets.js +140 -0
- package/scripts/validate-fidelity-output.cjs +267 -0
- package/scripts/validate-fidelity-output.test.cjs +101 -0
- package/scripts/validate-install.js +230 -0
- package/scripts/validate-no-clone.cjs +220 -0
- package/scripts/validate-no-clone.test.cjs +77 -0
- package/scripts/validate-pipeline.cjs +145 -0
- package/scripts/validate-pod-workflow.cjs +878 -0
- package/scripts/validate-source-audit.cjs +170 -0
- package/scripts/validate-source-audit.test.cjs +90 -0
- package/scripts/validate-story-acs.cjs +862 -0
- package/scripts/validate-update-scope-motor.js +421 -0
- package/scripts/veto-checks/html-valid.cjs +92 -0
- package/scripts/veto-checks/lexical-check.cjs +62 -0
- package/scripts/veto-checks/phash-gate.cjs +589 -0
- package/scripts/veto-checks/render-gate.cjs +165 -0
- package/scripts/veto-checks/render-png.cjs +358 -0
- package/scripts/veto-checks.test.cjs +219 -0
- package/scripts/watcher-audit.cjs +178 -0
- package/template/.claude/CLAUDE.md +103 -0
- package/template/.claude/agents/pc-analyst.md +100 -0
- package/template/.claude/agents/pc-architect.md +32 -0
- package/template/.claude/agents/pc-dev.md +27 -0
- package/template/.claude/agents/pc-devops.md +45 -0
- package/template/.claude/agents/pc-planner.md +32 -0
- package/template/.claude/agents/pc-po.md +25 -0
- package/template/.claude/agents/pc-qa.md +25 -0
- package/template/.claude/commands/power/academy.md +9 -0
- package/template/.claude/commands/power/automation.md +9 -0
- package/template/.claude/commands/power/content-carousel.md +267 -0
- package/template/.claude/commands/power/content.md +9 -0
- package/template/.claude/commands/power/dev.md +9 -0
- package/template/.claude/commands/power/forge.md +224 -0
- package/template/.claude/commands/power/hormozi.md +221 -0
- package/template/.claude/commands/power/modo.md +57 -0
- package/template/.claude/hooks/README.md +114 -0
- package/template/.claude/hooks/context-budget.cjs +64 -0
- package/template/.claude/hooks/enforce-cycle-authority.cjs +457 -0
- package/template/.claude/hooks/enforce-git-push-authority.cjs +925 -0
- package/template/.claude/hooks/enforce-ready-oracles.cjs +502 -0
- package/template/.claude/rules/authority.md +76 -0
- package/template/.claude/rules/curadoria-de-conhecimento.md +30 -0
- package/template/.claude/rules/model-matrix.md +34 -0
- package/template/.claude/rules/orchestration.md +133 -0
- package/template/.claude/settings.json +50 -0
- package/template/.claude/skills/pc-apply-qa-fixes/SKILL.md +108 -0
- package/template/.claude/skills/pc-apply-qa-fixes/references/fix-loop.md +40 -0
- package/template/.claude/skills/pc-apply-qa-fixes/references/fix-request-template.md +70 -0
- package/template/.claude/skills/pc-arena/SKILL.md +96 -0
- package/template/.claude/skills/pc-close-story/SKILL.md +105 -0
- package/template/.claude/skills/pc-commit/SKILL.md +108 -0
- package/template/.claude/skills/pc-develop-story/SKILL.md +116 -0
- package/template/.claude/skills/pc-full-cycle/SKILL.md +150 -0
- package/template/.claude/skills/pc-pipeline/SKILL.md +63 -0
- package/template/.claude/skills/pc-pipeline/references/gate-templates.md +46 -0
- package/template/.claude/skills/pc-review-story/SKILL.md +129 -0
- package/template/.claude/skills/pc-review-story/references/false-positive-detection.md +50 -0
- package/template/.claude/skills/pc-review-story/references/nfr-assess.md +47 -0
- package/template/.claude/skills/pc-review-story/references/risk-profile.md +75 -0
- package/template/.claude/skills/pc-review-story/references/security-checklist.md +69 -0
- package/template/.claude/skills/pc-review-story/references/test-design.md +37 -0
- package/template/.claude/skills/pc-review-story/references/trace-requirements.md +46 -0
- package/template/.claude/skills/pc-run-pod/SKILL.md +123 -0
- package/template/.claude/skills/pc-validate-story/SKILL.md +114 -0
- package/template/.claude/skills/pc-wave/SKILL.md +133 -0
- package/template/.env.example +10 -0
- package/template/knowledge/analyst/brainstorming.md +40 -0
- package/template/knowledge/analyst/brief-skeleton.md +32 -0
- package/template/knowledge/analyst/competitor-skeleton.md +39 -0
- package/template/knowledge/analyst/elicitation-menu.md +49 -0
- package/template/knowledge/analyst/market-research-skeleton.md +36 -0
- package/template/knowledge/analyst/research-prompt-structure.md +48 -0
- package/template/knowledge/analyst/roi-skeleton.md +51 -0
- package/template/knowledge/voice-dna/README.md +99 -0
- package/template/knowledge/voice-dna/voice-dna.example.yaml +157 -0
- package/template/pods/README.md +64 -0
- package/template/pods/academy/README.md +37 -0
- package/template/pods/academy/agents/academy-chief.md +27 -0
- package/template/pods/academy/examples/palestra.example.md +142 -0
- package/template/pods/academy/pod-spec.json +44 -0
- package/template/pods/academy/templates/materiais-tmpl.md +17 -0
- package/template/pods/academy/templates/revisao-didatica-tmpl.md +20 -0
- package/template/pods/academy/workflows/wf-materiais-revisao.yaml +30 -0
- package/template/pods/authority-content/README.md +43 -0
- package/template/pods/authority-content/agents/content-chief.md +28 -0
- package/template/pods/authority-content/pod-spec.json +45 -0
- package/template/pods/authority-content/templates/criacao-na-voz-tmpl.md +17 -0
- package/template/pods/authority-content/templates/red-team-factual-tmpl.md +23 -0
- package/template/pods/authority-content/workflows/wf-criacao-redteam.yaml +30 -0
- package/template/pods/automation/README.md +37 -0
- package/template/pods/automation/agents/langgraph-architect.md +30 -0
- package/template/pods/automation/agents/n8n-architect.md +30 -0
- package/template/pods/automation/examples/README.md +46 -0
- package/template/pods/automation/examples/n8n-content-radar.example.json +380 -0
- package/template/pods/automation/knowledge/langgraph-patterns.md +126 -0
- package/template/pods/automation/knowledge/n8n-patterns.md +131 -0
- package/template/pods/automation/memory/README.md +16 -0
- package/template/pods/automation/memory/learnings.consolidated.md +8 -0
- package/template/pods/automation/memory/learnings.jsonl +0 -0
- package/template/pods/automation/pod-spec.json +109 -0
- package/template/pods/automation/specs/wf-langgraph-build.spec.json +107 -0
- package/template/pods/automation/squad-io.yaml +28 -0
- package/template/pods/automation/templates/lg-build-tmpl.md +17 -0
- package/template/pods/automation/templates/lg-design-tmpl.md +23 -0
- package/template/pods/automation/templates/lg-discover-tmpl.md +20 -0
- package/template/pods/automation/templates/lg-handoff-tmpl.md +20 -0
- package/template/pods/automation/templates/lg-test-tmpl.md +20 -0
- package/template/pods/automation/templates/n8n-build-tmpl.md +14 -0
- package/template/pods/automation/templates/n8n-design-tmpl.md +23 -0
- package/template/pods/automation/templates/n8n-discover-tmpl.md +20 -0
- package/template/pods/automation/templates/n8n-handoff-tmpl.md +20 -0
- package/template/pods/automation/templates/n8n-test-tmpl.md +20 -0
- package/template/pods/automation/workflows/wf-langgraph-build.smoke.json +11 -0
- package/template/pods/automation/workflows/wf-langgraph-build.yaml +64 -0
- package/template/pods/automation/workflows/wf-n8n-build.smoke.json +11 -0
- package/template/pods/automation/workflows/wf-n8n-build.yaml +65 -0
- package/template/pods/content-carousel/README.md +91 -0
- package/template/pods/content-carousel/agents/carousel-builder.md +28 -0
- package/template/pods/content-carousel/agents/carousel-visual.md +24 -0
- package/template/pods/content-carousel/agents/hn-curator.md +74 -0
- package/template/pods/content-carousel/config/heuristic-watcher-rubric.yaml +59 -0
- package/template/pods/content-carousel/knowledge/aquisicao-ancora.md +443 -0
- package/template/pods/content-carousel/knowledge/cta-brief.md +25 -0
- package/template/pods/content-carousel/knowledge/dono.example.yaml +45 -0
- package/template/pods/content-carousel/knowledge/identidade-visual-mascote.md +62 -0
- package/template/pods/content-carousel/knowledge/image-generation.md +62 -0
- package/template/pods/content-carousel/knowledge/selecao-de-ancora.md +60 -0
- package/template/pods/content-carousel/knowledge/slides-html.md +56 -0
- package/template/pods/content-carousel/memory/README.md +18 -0
- package/template/pods/content-carousel/memory/learnings.consolidated.md +6 -0
- package/template/pods/content-carousel/memory/learnings.jsonl +0 -0
- package/template/pods/content-carousel/pod-spec.json +100 -0
- package/template/pods/content-carousel/squad-io.yaml +10 -0
- package/template/pods/content-carousel/templates/assembly-tmpl.md +23 -0
- package/template/pods/content-carousel/templates/digest-tmpl.md +29 -0
- package/template/pods/content-carousel/templates/visuals-tmpl.md +20 -0
- package/template/pods/content-carousel/workflows/wf-content-carousel.smoke.json +23 -0
- package/template/pods/content-carousel/workflows/wf-content-carousel.yaml +80 -0
- package/template/pods/dev-ia/README.md +45 -0
- package/template/pods/dev-ia/agents/db-architect.md +33 -0
- package/template/pods/dev-ia/agents/ux-architect.md +29 -0
- package/template/pods/dev-ia/knowledge/db/migration-protocol.md +95 -0
- package/template/pods/dev-ia/knowledge/db/rls-patterns.md +101 -0
- package/template/pods/dev-ia/knowledge/db/schema-review-checklist.md +76 -0
- package/template/pods/dev-ia/memory/README.md +16 -0
- package/template/pods/dev-ia/memory/learnings.consolidated.md +8 -0
- package/template/pods/dev-ia/memory/learnings.jsonl +0 -0
- package/template/pods/dev-ia/pod-spec.json +34 -0
- package/template/pods/dev-ia/templates/schema-review-tmpl.md +23 -0
- package/template/pods/dev-ia/templates/ux-flow-review-tmpl.md +23 -0
- package/template/pods/dev-ia/tools/db-ops/backup-manager.sh +321 -0
- package/template/pods/dev-ia/tools/db-ops/best-practices-auditor.sh +534 -0
- package/template/pods/dev-ia/tools/db-ops/bootstrap-runner.sh +255 -0
- package/template/pods/dev-ia/tools/db-ops/data-loader.sh +616 -0
- package/template/pods/dev-ia/tools/db-ops/detect-database.sh +113 -0
- package/template/pods/dev-ia/tools/db-ops/explain-analyzer.sh +285 -0
- package/template/pods/dev-ia/tools/db-ops/health-checker.sh +323 -0
- package/template/pods/dev-ia/tools/db-ops/migration-runner.sh +308 -0
- package/template/pods/dev-ia/tools/db-ops/postgresql-schema-loader.sh +334 -0
- package/template/pods/dev-ia/tools/db-ops/query-runner.sh +171 -0
- package/template/pods/dev-ia/tools/db-ops/rls-policy-installer.sh +480 -0
- package/template/pods/dev-ia/tools/db-ops/rls-test-suite.sh +172 -0
- package/template/pods/dev-ia/tools/db-ops/schema-context-loader.sh +176 -0
- package/template/pods/hormozi-method/README.md +52 -0
- package/template/pods/hormozi-method/agents/acquisition-strategist.md +33 -0
- package/template/pods/hormozi-method/agents/conversion-copywriter.md +34 -0
- package/template/pods/hormozi-method/agents/monetization-architect.md +35 -0
- package/template/pods/hormozi-method/agents/offer-engineer.md +37 -0
- package/template/pods/hormozi-method/knowledge/core-four-leads.md +51 -0
- package/template/pods/hormozi-method/knowledge/grand-slam-offer.md +66 -0
- package/template/pods/hormozi-method/knowledge/growth-decision.md +38 -0
- package/template/pods/hormozi-method/knowledge/hooks-and-ads.md +56 -0
- package/template/pods/hormozi-method/knowledge/launch-email.md +31 -0
- package/template/pods/hormozi-method/knowledge/money-model.md +46 -0
- package/template/pods/hormozi-method/knowledge/opportunity-screening.md +44 -0
- package/template/pods/hormozi-method/knowledge/pages.md +25 -0
- package/template/pods/hormozi-method/knowledge/pos-lancamento-leads.md +56 -0
- package/template/pods/hormozi-method/knowledge/pricing.md +36 -0
- package/template/pods/hormozi-method/knowledge/retention-ltv.md +37 -0
- package/template/pods/hormozi-method/knowledge/scale-roadmap.md +35 -0
- package/template/pods/hormozi-method/knowledge/swipefiles-curados.md +44 -0
- package/template/pods/hormozi-method/knowledge/value-equation-diagnostic.md +77 -0
- package/template/pods/hormozi-method/memory/README.md +16 -0
- package/template/pods/hormozi-method/memory/learnings.consolidated.md +6 -0
- package/template/pods/hormozi-method/memory/learnings.jsonl +0 -0
- package/template/pods/hormozi-method/pod-spec.json +50 -0
- package/template/pods/hormozi-method/specs/wf-full-launch-sequence.spec.json +149 -0
- package/template/pods/hormozi-method/specs/wf-lead-magnet-pipeline.spec.json +125 -0
- package/template/pods/hormozi-method/specs/wf-money-model-design.spec.json +117 -0
- package/template/pods/hormozi-method/specs/wf-paid-ads-campaign.spec.json +132 -0
- package/template/pods/hormozi-method/specs/wf-scaling-diagnostic.spec.json +121 -0
- package/template/pods/hormozi-method/squad-io.yaml +43 -0
- package/template/pods/hormozi-method/templates/conversion-copywriter-tmpl.md +20 -0
- package/template/pods/hormozi-method/templates/launch-execucao-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/launch-fechamento-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/launch-pos-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/launch-preparacao-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/lm-copy-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/lm-distribuicao-tmpl.md +18 -0
- package/template/pods/hormozi-method/templates/lm-estrategia-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/mm-arquitetura-tmpl.md +18 -0
- package/template/pods/hormozi-method/templates/mm-copy-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/mm-diagnostico-tmpl.md +14 -0
- package/template/pods/hormozi-method/templates/monetization-architect-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/offer-engineer-tmpl.md +20 -0
- package/template/pods/hormozi-method/templates/paid-criativos-tmpl.md +19 -0
- package/template/pods/hormozi-method/templates/paid-fundacao-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/paid-teste-escala-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/scaling-diagnostico-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/scaling-priorizacao-tmpl.md +17 -0
- package/template/pods/hormozi-method/templates/scaling-roadmap-tmpl.md +17 -0
- package/template/pods/hormozi-method/workflows/wf-full-launch-sequence.smoke.json +12 -0
- package/template/pods/hormozi-method/workflows/wf-full-launch-sequence.yaml +56 -0
- package/template/pods/hormozi-method/workflows/wf-grand-slam-offer.smoke.json +11 -0
- package/template/pods/hormozi-method/workflows/wf-grand-slam-offer.yaml +45 -0
- package/template/pods/hormozi-method/workflows/wf-lead-magnet-pipeline.smoke.json +9 -0
- package/template/pods/hormozi-method/workflows/wf-lead-magnet-pipeline.yaml +45 -0
- package/template/pods/hormozi-method/workflows/wf-money-model-design.smoke.json +11 -0
- package/template/pods/hormozi-method/workflows/wf-money-model-design.yaml +45 -0
- package/template/pods/hormozi-method/workflows/wf-paid-ads-campaign.smoke.json +9 -0
- package/template/pods/hormozi-method/workflows/wf-paid-ads-campaign.yaml +46 -0
- package/template/pods/hormozi-method/workflows/wf-scaling-diagnostic.smoke.json +11 -0
- package/template/pods/hormozi-method/workflows/wf-scaling-diagnostic.yaml +44 -0
- package/template/pods/squad-forge/README.md +53 -0
- package/template/pods/squad-forge/agents/forge-chief.md +31 -0
- package/template/pods/squad-forge/agents/mind-extractor.md +29 -0
- package/template/pods/squad-forge/agents/pod-critic.md +26 -0
- package/template/pods/squad-forge/config/heuristic-watcher-rubric.yaml +74 -0
- package/template/pods/squad-forge/knowledge/fidelity-rubric.yaml +176 -0
- package/template/pods/squad-forge/knowledge/g6-memory-check.md +17 -0
- package/template/pods/squad-forge/knowledge/memory-ingest.md +16 -0
- package/template/pods/squad-forge/knowledge/source-audit-rubric.yaml +60 -0
- package/template/pods/squad-forge/memory/README.md +16 -0
- package/template/pods/squad-forge/memory/learnings.consolidated.md +8 -0
- package/template/pods/squad-forge/memory/learnings.jsonl +0 -0
- package/template/pods/squad-forge/pod-spec.json +166 -0
- package/template/pods/squad-forge/squad-io.yaml +13 -0
- package/template/pods/squad-forge/tasks/pipeline.md +158 -0
- package/template/pods/squad-forge/templates/discovery-tmpl.md +40 -0
- package/template/pods/squad-forge/templates/generation-tmpl.md +18 -0
- package/template/pods/squad-forge/templates/red-team-tmpl.md +17 -0
- package/template/pods/squad-forge/templates/register-tmpl.md +17 -0
- package/template/pods/squad-forge/templates/workflow-tmpl.yaml +101 -0
- package/template/pods/squad-forge/workflows/wf-forge.smoke.json +12 -0
- package/template/pods/squad-forge/workflows/wf-forge.yaml +60 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{"id":"1785363178305-qk0aa8","ts":1785363178305,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
2
|
+
{"id":"1785363292076-w4apno","ts":1785363292076,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
3
|
+
{"id":"1785363292082-c72jgi","ts":1785363292082,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
4
|
+
{"id":"1785363292084-6j5chf","ts":1785363292084,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
5
|
+
{"id":"1785363292087-wd69zc","ts":1785363292087,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
6
|
+
{"id":"1785363292089-7n275y","ts":1785363292089,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
7
|
+
{"id":"1785363292091-l8pm15","ts":1785363292091,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
8
|
+
{"id":"1785363450285-elsp63","ts":1785363450285,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
9
|
+
{"id":"1785363450290-efktd6","ts":1785363450290,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
10
|
+
{"id":"1785363450292-4ftqnm","ts":1785363450292,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
11
|
+
{"id":"1785363450294-l6xhz1","ts":1785363450294,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
12
|
+
{"id":"1785363450296-jms8we","ts":1785363450296,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
13
|
+
{"id":"1785363450298-ofvd0o","ts":1785363450298,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
14
|
+
{"id":"1785363661813-yrgjxl","ts":1785363661813,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
15
|
+
{"id":"1785363661818-mptl8b","ts":1785363661818,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
16
|
+
{"id":"1785363661820-hem3nl","ts":1785363661820,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
17
|
+
{"id":"1785363661822-2ptv5l","ts":1785363661822,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
18
|
+
{"id":"1785363661824-1e9pxx","ts":1785363661824,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
19
|
+
{"id":"1785363661826-g068ig","ts":1785363661826,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
20
|
+
{"id":"1785363717606-unab38","ts":1785363717606,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
21
|
+
{"id":"1785363717650-qamwtz","ts":1785363717650,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
22
|
+
{"id":"1785363717655-obgh6h","ts":1785363717655,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
23
|
+
{"id":"1785363717657-01tawh","ts":1785363717657,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
24
|
+
{"id":"1785363717659-4iu227","ts":1785363717659,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
25
|
+
{"id":"1785363717660-osae0q","ts":1785363717660,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
26
|
+
{"id":"1785363717699-effjwy","ts":1785363717699,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
27
|
+
{"id":"1785363717704-889ruw","ts":1785363717704,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
28
|
+
{"id":"1785363717705-gwvorw","ts":1785363717705,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
29
|
+
{"id":"1785363717708-g6osvm","ts":1785363717708,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
30
|
+
{"id":"1785363717710-h11t0i","ts":1785363717710,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
31
|
+
{"id":"1785363717713-xhujn3","ts":1785363717713,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
32
|
+
{"id":"1785363717754-n7j420","ts":1785363717754,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
33
|
+
{"id":"1785363717800-hw8m8h","ts":1785363717800,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
34
|
+
{"id":"1785363717805-2usdi1","ts":1785363717805,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
35
|
+
{"id":"1785363717807-5jyl70","ts":1785363717807,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
36
|
+
{"id":"1785363717809-sppt5m","ts":1785363717809,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
37
|
+
{"id":"1785363717811-n06e66","ts":1785363717811,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
38
|
+
{"id":"1785363717813-5wzvfk","ts":1785363717813,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
39
|
+
{"id":"1785363742992-ssma82","ts":1785363742992,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
40
|
+
{"id":"1785363743035-s82e8s","ts":1785363743035,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
41
|
+
{"id":"1785363743039-yxdc7r","ts":1785363743039,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
42
|
+
{"id":"1785363743041-tzx3py","ts":1785363743041,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
43
|
+
{"id":"1785363743043-znzxok","ts":1785363743043,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
44
|
+
{"id":"1785363743046-31p3yi","ts":1785363743046,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
45
|
+
{"id":"1785363743087-2s095z","ts":1785363743087,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
46
|
+
{"id":"1785363743092-j9971c","ts":1785363743092,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
47
|
+
{"id":"1785363743094-o6oy2s","ts":1785363743094,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
48
|
+
{"id":"1785363743096-y7pnsi","ts":1785363743096,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
49
|
+
{"id":"1785363743098-vlvphu","ts":1785363743098,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
50
|
+
{"id":"1785363743100-c8tnui","ts":1785363743100,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
51
|
+
{"id":"1785363743143-3gyxy3","ts":1785363743143,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
52
|
+
{"id":"1785363743190-l5wmg8","ts":1785363743190,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
53
|
+
{"id":"1785363743195-ab9uus","ts":1785363743195,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
54
|
+
{"id":"1785363743197-h19cqb","ts":1785363743197,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
55
|
+
{"id":"1785363743200-61ci3g","ts":1785363743200,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
56
|
+
{"id":"1785363743202-kzmu1w","ts":1785363743202,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
57
|
+
{"id":"1785363743205-4sppbe","ts":1785363743205,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
58
|
+
{"id":"1785363801392-semruy","ts":1785363801392,"trigger":"etapa \"make\" bloqueada por verification_failed","recommendation":"corrigir antes de reexecutar: seção obrigatória do template ausente no artefato: \"## Body\" | veto.assertions[0] (field_matches) falhou: campo \"status\" ausente","evidence":{"step":"make","veto":["seção obrigatória do template ausente no artefato: \"## Body\"","veto.assertions[0] (field_matches) falhou: campo \"status\" ausente"],"causa":"2 verificação(ões) de veto/template falharam"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a"}
|
|
59
|
+
{"id":"1785363852447-i4mrtq","ts":1785363852447,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
60
|
+
{"id":"1785364867563-pl89ew","ts":1785364867563,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
61
|
+
{"id":"1785364867569-as4jxd","ts":1785364867569,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
62
|
+
{"id":"1785364867571-azszyd","ts":1785364867571,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
63
|
+
{"id":"1785364867574-cv24zs","ts":1785364867574,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
64
|
+
{"id":"1785364867576-fgr372","ts":1785364867576,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
65
|
+
{"id":"1785364867578-ertkxl","ts":1785364867578,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
66
|
+
{"id":"1785365065704-7t1itp","ts":1785365065704,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
67
|
+
{"id":"1785365065709-0t8bew","ts":1785365065709,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
68
|
+
{"id":"1785365065711-tv2vnf","ts":1785365065711,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
69
|
+
{"id":"1785365065714-l9e6ca","ts":1785365065714,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
70
|
+
{"id":"1785365065716-oa9v64","ts":1785365065716,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
71
|
+
{"id":"1785365065718-g9felu","ts":1785365065718,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
72
|
+
{"id":"1785365907898-d4uso0","ts":1785365907898,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
73
|
+
{"id":"1785365907903-o6no9w","ts":1785365907903,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
74
|
+
{"id":"1785365907905-vtrxtu","ts":1785365907905,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
75
|
+
{"id":"1785365907907-hcmb2t","ts":1785365907907,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
76
|
+
{"id":"1785365907910-hhjmg9","ts":1785365907910,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
77
|
+
{"id":"1785365907912-jcbwr8","ts":1785365907912,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
78
|
+
{"id":"1785366171335-46vtu9","ts":1785366171335,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
79
|
+
{"id":"1785366171340-eai314","ts":1785366171340,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
80
|
+
{"id":"1785366171342-c11kpm","ts":1785366171342,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
81
|
+
{"id":"1785366171344-3hbngw","ts":1785366171344,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
82
|
+
{"id":"1785366171346-ltivox","ts":1785366171346,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
83
|
+
{"id":"1785366171348-8ed7vg","ts":1785366171348,"trigger":"workflow \"wf-a\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-a"},"tier":"normal","attributed_by":null,"source_run_id":"phase-a","type":"ok_pattern"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Artefato da fase A (`make`)
|
|
2
|
+
|
|
3
|
+
## Body
|
|
4
|
+
|
|
5
|
+
Conteúdo produzido pela fase A. A FORMA (`## Body`) é verificada por
|
|
6
|
+
checkTemplateConformance; o veto INTERNO do pod confere `status`. O portão do
|
|
7
|
+
PIPELINE (cross-pod) confere `quality` — ortogonal ao veto interno, para separar
|
|
8
|
+
"run-filho done" de "portão do pipeline GO".
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# wf-a — pod-fixture da FASE A do pipeline (Story SF9.1). 1 step, veto INTERNO sobre `status`.
|
|
2
|
+
state_machine:
|
|
3
|
+
states: [init, running, complete, failed]
|
|
4
|
+
initial: init
|
|
5
|
+
terminal: [complete, failed]
|
|
6
|
+
steps:
|
|
7
|
+
- id: make
|
|
8
|
+
agent: maker
|
|
9
|
+
template: templates/make-tmpl.md
|
|
10
|
+
inputs: [pedido]
|
|
11
|
+
outputs: [doc]
|
|
12
|
+
depends_on: []
|
|
13
|
+
checkpoint: null
|
|
14
|
+
veto:
|
|
15
|
+
assertions:
|
|
16
|
+
- { type: field_matches, field: status, pattern: "^ok$" }
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: user
|
|
3
|
+
description: "Agente de FIXTURE da etapa \"use\" de pipe-b. Existe para satisfazer a leitura obrigatória da etapa (SF11.2/ADR-021 DF-SF11.2-4): agente declarado no wf tem de existir em disco."
|
|
4
|
+
model: sonnet
|
|
5
|
+
budget_tokens: 200
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# user — agente de fixture (etapa "use")
|
|
9
|
+
|
|
10
|
+
Fixture de teste, não é agente de produção. O conteúdo é irrelevante para as provas
|
|
11
|
+
que usam este pod; o que importa é que o arquivo EXISTA, porque desde a Story SF11.2
|
|
12
|
+
o runner resolve e verifica `agents/<step.agent>.md` antes de despachar a etapa, e o
|
|
13
|
+
validador estático checa a mesma existência (paridade com `pod-export-compile.cjs:214`).
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{"id":"1785363178308-nfr5zk","ts":1785363178308,"trigger":"workflow \"wf-b\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-b"},"tier":"normal","attributed_by":null,"source_run_id":"phase-b","type":"ok_pattern"}
|
|
2
|
+
{"id":"1785363292079-ypkohe","ts":1785363292079,"trigger":"workflow \"wf-b\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-b"},"tier":"normal","attributed_by":null,"source_run_id":"phase-b","type":"ok_pattern"}
|
|
3
|
+
{"id":"1785363450288-78tcel","ts":1785363450288,"trigger":"workflow \"wf-b\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-b"},"tier":"normal","attributed_by":null,"source_run_id":"phase-b","type":"ok_pattern"}
|
|
4
|
+
{"id":"1785363661816-kjbyhs","ts":1785363661816,"trigger":"workflow \"wf-b\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-b"},"tier":"normal","attributed_by":null,"source_run_id":"phase-b","type":"ok_pattern"}
|
|
5
|
+
{"id":"1785363717653-xe5p9p","ts":1785363717653,"trigger":"workflow \"wf-b\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-b"},"tier":"normal","attributed_by":null,"source_run_id":"phase-b","type":"ok_pattern"}
|
|
6
|
+
{"id":"1785363717701-jp4rxv","ts":1785363717701,"trigger":"workflow \"wf-b\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-b"},"tier":"normal","attributed_by":null,"source_run_id":"phase-b","type":"ok_pattern"}
|
|
7
|
+
{"id":"1785363717803-byh4zw","ts":1785363717803,"trigger":"workflow \"wf-b\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-b"},"tier":"normal","attributed_by":null,"source_run_id":"phase-b","type":"ok_pattern"}
|
|
8
|
+
{"id":"1785363743037-7y14l6","ts":1785363743037,"trigger":"workflow \"wf-b\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-b"},"tier":"normal","attributed_by":null,"source_run_id":"phase-b","type":"ok_pattern"}
|
|
9
|
+
{"id":"1785363743090-6jswru","ts":1785363743090,"trigger":"workflow \"wf-b\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-b"},"tier":"normal","attributed_by":null,"source_run_id":"phase-b","type":"ok_pattern"}
|
|
10
|
+
{"id":"1785363743193-4uly95","ts":1785363743193,"trigger":"workflow \"wf-b\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-b"},"tier":"normal","attributed_by":null,"source_run_id":"phase-b","type":"ok_pattern"}
|
|
11
|
+
{"id":"1785364867567-113alb","ts":1785364867567,"trigger":"workflow \"wf-b\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-b"},"tier":"normal","attributed_by":null,"source_run_id":"phase-b","type":"ok_pattern"}
|
|
12
|
+
{"id":"1785365065707-bnqup3","ts":1785365065707,"trigger":"workflow \"wf-b\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-b"},"tier":"normal","attributed_by":null,"source_run_id":"phase-b","type":"ok_pattern"}
|
|
13
|
+
{"id":"1785365907901-u3u5j7","ts":1785365907901,"trigger":"workflow \"wf-b\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-b"},"tier":"normal","attributed_by":null,"source_run_id":"phase-b","type":"ok_pattern"}
|
|
14
|
+
{"id":"1785366171338-slfrk3","ts":1785366171338,"trigger":"workflow \"wf-b\" completou sem bloqueio","recommendation":"caminho seguido (1 etapa(s) verificadas em disco) é válido; repetir a sequência","evidence":{"steps_done":1,"run_id":"phase-b"},"tier":"normal","attributed_by":null,"source_run_id":"phase-b","type":"ok_pattern"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# wf-b — pod-fixture da FASE B do pipeline (Story SF9.1). Consome o output da fase A via task-ref.
|
|
2
|
+
state_machine:
|
|
3
|
+
states: [init, running, complete, failed]
|
|
4
|
+
initial: init
|
|
5
|
+
terminal: [complete, failed]
|
|
6
|
+
steps:
|
|
7
|
+
- id: use
|
|
8
|
+
agent: user
|
|
9
|
+
template: templates/use-tmpl.md
|
|
10
|
+
inputs: [upstream]
|
|
11
|
+
outputs: [final]
|
|
12
|
+
depends_on: []
|
|
13
|
+
checkpoint: null
|
|
14
|
+
veto:
|
|
15
|
+
assertions:
|
|
16
|
+
- { type: field_matches, field: status, pattern: "^ok$" }
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: forge-chief
|
|
3
|
+
description: "Agente de FIXTURE da etapa \"build\" de pod-run. Existe para satisfazer a leitura obrigatória da etapa (SF11.2/ADR-021 DF-SF11.2-4): agente declarado no wf tem de existir em disco."
|
|
4
|
+
model: sonnet
|
|
5
|
+
budget_tokens: 200
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# forge-chief — agente de fixture (etapa "build")
|
|
9
|
+
|
|
10
|
+
Fixture de teste, não é agente de produção. O conteúdo é irrelevante para as provas
|
|
11
|
+
que usam este pod; o que importa é que o arquivo EXISTA, porque desde a Story SF11.2
|
|
12
|
+
o runner resolve e verifica `agents/<step.agent>.md` antes de despachar a etapa, e o
|
|
13
|
+
validador estático checa a mesma existência (paridade com `pod-export-compile.cjs:214`).
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pod-critic
|
|
3
|
+
description: "Agente de FIXTURE da etapa \"gate\" de pod-run. Existe para satisfazer a leitura obrigatória da etapa (SF11.2/ADR-021 DF-SF11.2-4): agente declarado no wf tem de existir em disco."
|
|
4
|
+
model: sonnet
|
|
5
|
+
budget_tokens: 200
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# pod-critic — agente de fixture (etapa "gate")
|
|
9
|
+
|
|
10
|
+
Fixture de teste, não é agente de produção. O conteúdo é irrelevante para as provas
|
|
11
|
+
que usam este pod; o que importa é que o arquivo EXISTA, porque desde a Story SF11.2
|
|
12
|
+
o runner resolve e verifica `agents/<step.agent>.md` antes de despachar a etapa, e o
|
|
13
|
+
validador estático checa a mesma existência (paridade com `pod-export-compile.cjs:214`).
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# wf-min — workflow SINTÉTICO mínimo para a suíte do motor pc-run-pod (Story SF1.2).
|
|
2
|
+
# NÃO é um pod de produção (isso é SF1.4). Exercita: DAG linear, checkpoint bloqueante,
|
|
3
|
+
# fix_cycle, e as 3 classes de não-fake-green (artefato ausente / veto violado /
|
|
4
|
+
# template não-conforme). build usa veto de CAMPO e template de SEÇÕES distintas, para
|
|
5
|
+
# que "veto violado" e "template não-conforme" sejam caminhos de teste separáveis.
|
|
6
|
+
state_machine:
|
|
7
|
+
states: [init, running, complete, failed]
|
|
8
|
+
initial: init
|
|
9
|
+
terminal: [complete, failed]
|
|
10
|
+
steps:
|
|
11
|
+
- id: build
|
|
12
|
+
agent: forge-chief
|
|
13
|
+
template: templates/build-tmpl.md
|
|
14
|
+
inputs: [brief]
|
|
15
|
+
outputs: [draft]
|
|
16
|
+
depends_on: []
|
|
17
|
+
checkpoint: null
|
|
18
|
+
veto:
|
|
19
|
+
assertions:
|
|
20
|
+
- { type: field_matches, field: status, pattern: "^rascunho$" }
|
|
21
|
+
- id: gate
|
|
22
|
+
agent: pod-critic
|
|
23
|
+
template: templates/gate-tmpl.md
|
|
24
|
+
inputs: [draft]
|
|
25
|
+
outputs: [verdict]
|
|
26
|
+
depends_on: [build]
|
|
27
|
+
checkpoint: { blocking: true, criteria: "score >= 8" }
|
|
28
|
+
fix_cycle: { to: build, max_iterations: 2 }
|
|
29
|
+
veto:
|
|
30
|
+
assertions:
|
|
31
|
+
- { type: field_matches, field: veredito, pattern: "^(GO|NO-GO)$" }
|
|
32
|
+
- id: finalize
|
|
33
|
+
agent: forge-chief
|
|
34
|
+
template: templates/build-tmpl.md
|
|
35
|
+
inputs: [verdict]
|
|
36
|
+
outputs: [final]
|
|
37
|
+
depends_on: [gate]
|
|
38
|
+
checkpoint: null
|
|
39
|
+
veto:
|
|
40
|
+
# ADR-005: veto ORTOGONAL (campo de máquina `confianca`) — o antigo
|
|
41
|
+
# section_exists "## Escopo" duplicava heading do build-tmpl.md (degenerado).
|
|
42
|
+
assertions:
|
|
43
|
+
- { type: field_matches, field: confianca, pattern: "^(alta|media|baixa)$" }
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# wf-skip-modes — fixture SINTÉTICO da SF11.10/ADR-024 para a suíte do motor.
|
|
2
|
+
#
|
|
3
|
+
# Reproduz a TOPOLOGIA exata do caso real (`wf-hn-carousel`) que motivou a story, sem
|
|
4
|
+
# depender do pod de produção:
|
|
5
|
+
# script — gate de TEXTO, bloqueante, `skip_modes: ["yolo"]` (o `digest` real)
|
|
6
|
+
# costly — a etapa CARA que se quer evitar pagar em vão (o `visuals` real)
|
|
7
|
+
# final — gate de FECHAMENTO, bloqueante, SEM `skip_modes` (o `assembly` real)
|
|
8
|
+
#
|
|
9
|
+
# O que este fixture existe para provar (o smoke NÃO prova: ele roda em `yolo` e por
|
|
10
|
+
# construção nunca visita o gate de `script`):
|
|
11
|
+
# (a) em `interactive`, a run PARA em `script` e `costly` continua `pending`/`started_at:
|
|
12
|
+
# null` — o oposto do 1 ms medido hoje entre `digest.verified_at` e `visuals.started_at`;
|
|
13
|
+
# (b) em `yolo`, `script` vai direto a `done`, `state.steps.script.checkpoint === null`, e a
|
|
14
|
+
# run estaciona em `final` — sem NENHUM `approve` ter sido chamado (pular ≠ aprovar);
|
|
15
|
+
# (c) `revise` no gate de `script` devolve SÓ `script` (não há `fix_cycle`) — zero custo.
|
|
16
|
+
state_machine:
|
|
17
|
+
states: [init, running, complete, failed]
|
|
18
|
+
initial: init
|
|
19
|
+
terminal: [complete, failed]
|
|
20
|
+
steps:
|
|
21
|
+
- id: script
|
|
22
|
+
agent: forge-chief
|
|
23
|
+
template: templates/build-tmpl.md
|
|
24
|
+
inputs: [brief]
|
|
25
|
+
outputs: [draft]
|
|
26
|
+
depends_on: []
|
|
27
|
+
checkpoint: { blocking: true, skip_modes: ["yolo"], criteria: "roteiro conferido ANTES da etapa cara" }
|
|
28
|
+
veto:
|
|
29
|
+
assertions:
|
|
30
|
+
- { type: field_matches, field: status, pattern: "^rascunho$" }
|
|
31
|
+
- id: costly
|
|
32
|
+
agent: forge-chief
|
|
33
|
+
template: templates/build-tmpl.md
|
|
34
|
+
inputs: [draft]
|
|
35
|
+
outputs: [assets]
|
|
36
|
+
depends_on: [script]
|
|
37
|
+
checkpoint: null
|
|
38
|
+
veto:
|
|
39
|
+
assertions:
|
|
40
|
+
- { type: field_matches, field: status, pattern: "^rascunho$" }
|
|
41
|
+
- id: final
|
|
42
|
+
agent: pod-critic
|
|
43
|
+
template: templates/gate-tmpl.md
|
|
44
|
+
inputs: [assets]
|
|
45
|
+
outputs: [verdict]
|
|
46
|
+
depends_on: [costly]
|
|
47
|
+
checkpoint: { blocking: true, criteria: "pacote completo conferido — gate de fechamento, sem skip_modes" }
|
|
48
|
+
veto:
|
|
49
|
+
assertions:
|
|
50
|
+
- { type: field_matches, field: veredito, pattern: "^(GO|NO-GO)$" }
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Fixture INVÁLIDO (SF11.10/ADR-024 DF-SF11.10-3) — TESTE NEGATIVO do invariante do gate
|
|
2
|
+
# humano: TODO checkpoint bloqueante deste workflow lista "yolo" em skip_modes, logo uma run
|
|
3
|
+
# em `yolo` rodaria do início ao fim SEM NENHUM gate humano. `skip_modes` existe para pular UM
|
|
4
|
+
# gate, nunca para ficar sem gate (ADR-020: o modo autônomo JAMAIS aprova — se não sobra gate,
|
|
5
|
+
# não sobra nada para ele esperar). Sem este fixture o invariante seria decorativo.
|
|
6
|
+
state_machine:
|
|
7
|
+
states: [init, running, complete, failed]
|
|
8
|
+
initial: init
|
|
9
|
+
terminal: [complete, failed]
|
|
10
|
+
steps:
|
|
11
|
+
- id: build
|
|
12
|
+
agent: forge-chief
|
|
13
|
+
template: templates/step-tmpl.md
|
|
14
|
+
inputs: [brief]
|
|
15
|
+
outputs: [draft]
|
|
16
|
+
depends_on: []
|
|
17
|
+
checkpoint: { blocking: true, skip_modes: ["yolo"], criteria: "roteiro conferido" }
|
|
18
|
+
veto:
|
|
19
|
+
assertions:
|
|
20
|
+
- { type: section_exists, section: "## Resultado" }
|
|
21
|
+
- id: review
|
|
22
|
+
agent: pod-critic
|
|
23
|
+
template: templates/step-tmpl.md
|
|
24
|
+
inputs: [draft]
|
|
25
|
+
outputs: [verdict]
|
|
26
|
+
depends_on: [build]
|
|
27
|
+
checkpoint: { blocking: true, skip_modes: ["yolo"], criteria: "score >= 8" }
|
|
28
|
+
veto:
|
|
29
|
+
assertions:
|
|
30
|
+
- { type: field_matches, field: veredito, pattern: "^(GO|NO-GO)$" }
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Fixture INVÁLIDO (SF11.10/ADR-024 DF-SF11.10-17) — `criteria` escrito como escalar de bloco.
|
|
2
|
+
# É o idioma YAML mais natural para texto longo, e é exatamente onde o parser YAML-lite falha em
|
|
3
|
+
# SILÊNCIO: `criteria: |` vira a string "|" e as três linhas abaixo somem. A checagem de
|
|
4
|
+
# "não-vazia" aceitaria ("|" é não-vazia) e o gate humano desta etapa nasceria MUDO — o oposto do
|
|
5
|
+
# que o guard desta story existe para impedir. O validador recusa NOMEANDO a causa e dizendo o
|
|
6
|
+
# que fazer (uma linha física, entre aspas), em vez de aceitar calado.
|
|
7
|
+
state_machine:
|
|
8
|
+
states: [init, running, complete, failed]
|
|
9
|
+
initial: init
|
|
10
|
+
terminal: [complete, failed]
|
|
11
|
+
steps:
|
|
12
|
+
- id: build
|
|
13
|
+
agent: forge-chief
|
|
14
|
+
template: templates/step-tmpl.md
|
|
15
|
+
inputs: [brief]
|
|
16
|
+
outputs: [draft]
|
|
17
|
+
depends_on: []
|
|
18
|
+
checkpoint: null
|
|
19
|
+
veto:
|
|
20
|
+
assertions:
|
|
21
|
+
- { type: section_exists, section: "## Resultado" }
|
|
22
|
+
- id: review
|
|
23
|
+
agent: pod-critic
|
|
24
|
+
template: templates/step-tmpl.md
|
|
25
|
+
inputs: [draft]
|
|
26
|
+
outputs: [verdict]
|
|
27
|
+
depends_on: [build]
|
|
28
|
+
veto:
|
|
29
|
+
assertions:
|
|
30
|
+
- { type: field_matches, field: veredito, pattern: "^(GO|NO-GO)$" }
|
|
31
|
+
# `checkpoint` vem POR ÚLTIMO de propósito: quando o escalar de bloco é seguido de uma chave
|
|
32
|
+
# irmã, o parser YAML-lite engole essa irmã junto (aqui, `veto`), e a run reprovaria por
|
|
33
|
+
# "campo obrigatório ausente: veto" — fail-closed, mas com a causa ERRADA. Com o bloco no fim
|
|
34
|
+
# da etapa, o dano fica isolado no próprio `criteria` e o fixture prova esta recusa, e só ela.
|
|
35
|
+
checkpoint:
|
|
36
|
+
blocking: true
|
|
37
|
+
criteria: |
|
|
38
|
+
O humano confirma que o roteiro carrega um ENSINAMENTO EMPRESARIAL —
|
|
39
|
+
análise de circunstância não é lição.
|
|
40
|
+
Rejeita se o texto apenas descreve o caso sem extrair a regra.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Fixture INVÁLIDO (SF11.10/ADR-024 DF-SF11.10-5) — `skip_modes` com valor fora do conjunto
|
|
2
|
+
# fechado de ritmos. "YOLO" em maiúscula é o caso REAL de armadilha: em runtime ele não
|
|
3
|
+
# casaria `skip_modes` (fail-closed: o gate bloquearia também na rodada autônoma) e a run
|
|
4
|
+
# travaria esperando um humano que o modo autônomo está PROIBIDO de substituir. O erro tem
|
|
5
|
+
# que aparecer estaticamente, com os valores válidos na mensagem.
|
|
6
|
+
state_machine:
|
|
7
|
+
states: [init, running, complete, failed]
|
|
8
|
+
initial: init
|
|
9
|
+
terminal: [complete, failed]
|
|
10
|
+
steps:
|
|
11
|
+
- id: build
|
|
12
|
+
agent: forge-chief
|
|
13
|
+
template: templates/step-tmpl.md
|
|
14
|
+
inputs: [brief]
|
|
15
|
+
outputs: [draft]
|
|
16
|
+
depends_on: []
|
|
17
|
+
checkpoint: { blocking: true, skip_modes: ["YOLO"], criteria: "roteiro conferido" }
|
|
18
|
+
veto:
|
|
19
|
+
assertions:
|
|
20
|
+
- { type: section_exists, section: "## Resultado" }
|
|
21
|
+
- id: review
|
|
22
|
+
agent: pod-critic
|
|
23
|
+
template: templates/step-tmpl.md
|
|
24
|
+
inputs: [draft]
|
|
25
|
+
outputs: [verdict]
|
|
26
|
+
depends_on: [build]
|
|
27
|
+
checkpoint: { blocking: true, criteria: "score >= 8" }
|
|
28
|
+
veto:
|
|
29
|
+
assertions:
|
|
30
|
+
- { type: field_matches, field: veredito, pattern: "^(GO|NO-GO)$" }
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Fixture INVÁLIDO (SF11.10/ADR-024 DF-SF11.10-6) — chave desconhecida sob `checkpoint`.
|
|
2
|
+
# É o formato do SKEW para frente: um `wf` escrito para um motor mais novo. O validador
|
|
3
|
+
# recusa nomeando a chave, e `capabilityGaps` (pc-run-pod.cjs) atribui a falha à INSTALAÇÃO
|
|
4
|
+
# defasada em vez de acusar o `wf`. Sem isso, a run estacionaria sem causa nomeada.
|
|
5
|
+
state_machine:
|
|
6
|
+
states: [init, running, complete, failed]
|
|
7
|
+
initial: init
|
|
8
|
+
terminal: [complete, failed]
|
|
9
|
+
steps:
|
|
10
|
+
- id: build
|
|
11
|
+
agent: forge-chief
|
|
12
|
+
template: templates/step-tmpl.md
|
|
13
|
+
inputs: [brief]
|
|
14
|
+
outputs: [draft]
|
|
15
|
+
depends_on: []
|
|
16
|
+
checkpoint: null
|
|
17
|
+
veto:
|
|
18
|
+
assertions:
|
|
19
|
+
- { type: section_exists, section: "## Resultado" }
|
|
20
|
+
- id: review
|
|
21
|
+
agent: pod-critic
|
|
22
|
+
template: templates/step-tmpl.md
|
|
23
|
+
inputs: [draft]
|
|
24
|
+
outputs: [verdict]
|
|
25
|
+
depends_on: [build]
|
|
26
|
+
checkpoint: { blocking: true, criteria: "score >= 8", futuro_desconhecido: 1 }
|
|
27
|
+
veto:
|
|
28
|
+
assertions:
|
|
29
|
+
- { type: field_matches, field: veredito, pattern: "^(GO|NO-GO)$" }
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# INVÁLIDO (AC3 ciclo no DAG): depends_on forma ciclo a -> b -> a.
|
|
2
|
+
state_machine:
|
|
3
|
+
states: [init, running, complete, failed]
|
|
4
|
+
initial: init
|
|
5
|
+
terminal: [complete, failed]
|
|
6
|
+
steps:
|
|
7
|
+
- id: a
|
|
8
|
+
agent: forge-chief
|
|
9
|
+
template: templates/step-tmpl.md
|
|
10
|
+
inputs: [brief]
|
|
11
|
+
outputs: [x]
|
|
12
|
+
depends_on: [b]
|
|
13
|
+
checkpoint: null
|
|
14
|
+
veto:
|
|
15
|
+
assertions:
|
|
16
|
+
- { type: section_exists, section: "## Escopo" }
|
|
17
|
+
- id: b
|
|
18
|
+
agent: pod-critic
|
|
19
|
+
template: templates/step-tmpl.md
|
|
20
|
+
inputs: [x]
|
|
21
|
+
outputs: [y]
|
|
22
|
+
depends_on: [a]
|
|
23
|
+
checkpoint: null
|
|
24
|
+
veto:
|
|
25
|
+
assertions:
|
|
26
|
+
- { type: section_exists, section: "## Escopo" }
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Fixture INVÁLIDO: tentativa de fix-loop DISFARÇADA de aresta para trás via
|
|
2
|
+
# depends_on (build depende de gate, gate depende de build). Isso é exatamente o
|
|
3
|
+
# que o fix_cycle existe para evitar: uma aresta para trás em depends_on é CICLO e
|
|
4
|
+
# continua reprovada por checkDag → exit 1. Fix-loop legítimo usa o campo fix_cycle.
|
|
5
|
+
state_machine:
|
|
6
|
+
states: [init, running, complete, failed]
|
|
7
|
+
initial: init
|
|
8
|
+
terminal: [complete, failed]
|
|
9
|
+
steps:
|
|
10
|
+
- id: build
|
|
11
|
+
agent: forge-chief
|
|
12
|
+
template: templates/step-tmpl.md
|
|
13
|
+
inputs: [verdict]
|
|
14
|
+
outputs: [draft]
|
|
15
|
+
depends_on: [gate]
|
|
16
|
+
checkpoint: null
|
|
17
|
+
veto:
|
|
18
|
+
assertions:
|
|
19
|
+
- { type: section_exists, section: "## Escopo" }
|
|
20
|
+
- id: gate
|
|
21
|
+
agent: pod-critic
|
|
22
|
+
template: templates/step-tmpl.md
|
|
23
|
+
inputs: [draft]
|
|
24
|
+
outputs: [verdict]
|
|
25
|
+
depends_on: [build]
|
|
26
|
+
checkpoint: { blocking: true, criteria: "score >= 8" }
|
|
27
|
+
veto:
|
|
28
|
+
assertions:
|
|
29
|
+
- { type: field_matches, field: veredito, pattern: "^(GO|NO-GO)$" }
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Fixture INVÁLIDO: fix_cycle.to aponta para uma etapa A JUSANTE (forward), não um
|
|
2
|
+
# ancestral. Um fix-loop volta para trás para reexecução; apontar para frente não é
|
|
3
|
+
# fix-loop e seria uma segunda forma de burlar a unidirecionalidade → exit 1.
|
|
4
|
+
state_machine:
|
|
5
|
+
states: [init, running, complete, failed]
|
|
6
|
+
initial: init
|
|
7
|
+
terminal: [complete, failed]
|
|
8
|
+
steps:
|
|
9
|
+
- id: build
|
|
10
|
+
agent: forge-chief
|
|
11
|
+
template: templates/step-tmpl.md
|
|
12
|
+
inputs: [brief]
|
|
13
|
+
outputs: [draft]
|
|
14
|
+
depends_on: []
|
|
15
|
+
checkpoint: null
|
|
16
|
+
fix_cycle: { to: gate, max_iterations: 3 }
|
|
17
|
+
veto:
|
|
18
|
+
assertions:
|
|
19
|
+
- { type: section_exists, section: "## Escopo" }
|
|
20
|
+
- id: gate
|
|
21
|
+
agent: pod-critic
|
|
22
|
+
template: templates/step-tmpl.md
|
|
23
|
+
inputs: [draft]
|
|
24
|
+
outputs: [verdict]
|
|
25
|
+
depends_on: [build]
|
|
26
|
+
checkpoint: { blocking: true, criteria: "score >= 8" }
|
|
27
|
+
veto:
|
|
28
|
+
assertions:
|
|
29
|
+
- { type: field_matches, field: veredito, pattern: "^(GO|NO-GO)$" }
|