@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,74 @@
|
|
|
1
|
+
# HEURISTIC WATCHER RUBRIC — squad-forge (POWER CLAUDE v0.3)
|
|
2
|
+
# Fonte do padrão: squad-creator-pro/config/heuristic-watcher-rubric.yaml (SPEC §G1).
|
|
3
|
+
# Versão: 1.0 — Story SF2.3.
|
|
4
|
+
#
|
|
5
|
+
# CONTRATO INEGOCIÁVEL (a razão de este arquivo existir):
|
|
6
|
+
# "O watcher NÃO resume o consolidado. Ele audita, A CADA RUN, se o AGENTE APLICOU
|
|
7
|
+
# as heurísticas do top-N no ARTEFATO que produziu (aderência, não resumo)."
|
|
8
|
+
#
|
|
9
|
+
# Diferente do squad-creator-pro (rubrica de dimensões estáticas de qualidade), aqui a
|
|
10
|
+
# unidade auditada é a HEURÍSTICA APRENDIDA do consolidado do pod (top-N dinâmico do
|
|
11
|
+
# pod-memory.cjs), não uma dimensão fixa. O motor determinístico é
|
|
12
|
+
# `scripts/watcher-audit.cjs` (proibido veto por LLM, SPEC §B1).
|
|
13
|
+
|
|
14
|
+
heuristic_watcher_rubric:
|
|
15
|
+
version: "1.0"
|
|
16
|
+
owner: "squad-forge / pod-critic"
|
|
17
|
+
purpose: |
|
|
18
|
+
Rubrica operante da fábrica: a cada run de um pod com memória, audita se o agente de
|
|
19
|
+
etapa APLICOU as heurísticas do consolidado top-N que se aplicavam ao seu artefato —
|
|
20
|
+
e produz evidência verificável (não uma opinião), consumida pelo pod-critic (G6).
|
|
21
|
+
|
|
22
|
+
philosophy: |
|
|
23
|
+
"O watcher não resume mudanças. Ele audita aderência heurística."
|
|
24
|
+
Toda run responde, por heurística do top-N aplicável:
|
|
25
|
+
1. o CONTEXTO da heurística (trigger) aparece no artefato produzido?
|
|
26
|
+
2. o PADRÃO recomendado foi materializado no artefato (não só citado)?
|
|
27
|
+
3. qual a evidência determinística disso (presença/ausência de tokens de conteúdo)?
|
|
28
|
+
4. se não aplicada com contexto presente → é ACHADO acionável (não ruído).
|
|
29
|
+
|
|
30
|
+
# ── Como a aderência é decidida (determinístico, sem LLM) ────────────────────────
|
|
31
|
+
# Implementado em scripts/watcher-audit.cjs::auditAdherence. A rubrica DECLARA; o
|
|
32
|
+
# script EXECUTA. Qualquer mudança de semântica muda os dois em conjunto.
|
|
33
|
+
adherence_method:
|
|
34
|
+
engine: "scripts/watcher-audit.cjs"
|
|
35
|
+
unit: "heurística do consolidado (linha `- **[trigger]** recomendação`)"
|
|
36
|
+
signal: "tokens de conteúdo (≥3 chars, sem stopwords) do trigger e da recomendação"
|
|
37
|
+
threshold: 0.5 # fração mínima dos tokens da recomendação presentes p/ "applied"
|
|
38
|
+
statuses:
|
|
39
|
+
not-applicable: "contexto do trigger AUSENTE no artefato — a heurística não se aplica (não é falha)"
|
|
40
|
+
applied: "contexto presente E ≥ threshold dos tokens de conteúdo da recomendação presentes (padrão materializado)"
|
|
41
|
+
not-applied: "contexto presente MAS sinal de conteúdo da recomendação ausente — aderência NÃO confirmada → ACHADO para o pod-critic revisar"
|
|
42
|
+
conservative_screen: |
|
|
43
|
+
É uma TRIAGEM determinística conservadora, não um juiz semântico. `not-applied`
|
|
44
|
+
significa "não consegui confirmar a aplicação automaticamente — olhe aqui", e é
|
|
45
|
+
entregue ao pod-critic (agente) para julgamento, jamais como acusação final. O
|
|
46
|
+
método é forte para heurísticas de CONTEÚDO (a recomendação nomeia conceitos que o
|
|
47
|
+
artefato aplicado repete) e é conservador para heurísticas puramente de FORMA
|
|
48
|
+
(ex.: "use bullets"), que ele sinaliza para revisão em vez de aprovar em silêncio.
|
|
49
|
+
anti_resumo_guarantee: |
|
|
50
|
+
O método mede o ARTEFATO por si só — NÃO se o consolidado foi citado/mencionado.
|
|
51
|
+
Um artefato que apenas diz "consultei o consolidado" sem materializar o conteúdo
|
|
52
|
+
recomendado pontua not-applied. É exatamente a fronteira entre ADERÊNCIA e
|
|
53
|
+
RESUMO/MENÇÃO — a razão de a SPEC citar a fonte squad-creator-pro explicitamente.
|
|
54
|
+
|
|
55
|
+
# ── Destino do resultado (evidência durável — Survival by Documentation) ─────────
|
|
56
|
+
report:
|
|
57
|
+
destination: "<runDir>/watcher-audit.md (por run) — ou stdout via CLI"
|
|
58
|
+
consumed_by: "pod-critic (Gate G6, item de memória) — não pelo runner"
|
|
59
|
+
exit_codes:
|
|
60
|
+
"0": "sem heurística aplicável não-aplicada"
|
|
61
|
+
"3": "≥1 heurística aplicável NÃO aplicada (contexto presente, sinal ausente) → revisar"
|
|
62
|
+
required_fields:
|
|
63
|
+
- "adherence_score (aplicadas / aplicáveis)"
|
|
64
|
+
- "applied_count"
|
|
65
|
+
- "not_applied_count"
|
|
66
|
+
- "not_applicable_count"
|
|
67
|
+
- "findings (heurísticas not-applied com trigger + recomendação)"
|
|
68
|
+
|
|
69
|
+
# ── Exemplo canônico (heurística de CONTEÚDO — onde a triagem é crisp) ────────────
|
|
70
|
+
example:
|
|
71
|
+
heuristic: "- **[oferta fraca]** ancore o preço no valor percebido, não no custo"
|
|
72
|
+
artifact_applied: "artefato discute 'oferta' e 'ancora o preço no valor percebido' → applied"
|
|
73
|
+
artifact_not_applied: "artefato entra no tema 'oferta' mas não ancora preço em valor → not-applied (revisar)"
|
|
74
|
+
artifact_not_applicable: "artefato sobre outro assunto, sem contexto de oferta → not-applicable"
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# FIDELITY RUBRIC — squad-forge (POWER CLAUDE)
|
|
2
|
+
# Rubrica de fidelidade de clone: 8 camadas do DNA Mental (peso + score_guide), thresholds
|
|
3
|
+
# de maturidade, Trindade e o contrato de output do comando *fidelity-score. Consumida por
|
|
4
|
+
# LAZY-LOAD pelo mind-extractor (nao copiada para dentro do agente — preserva o budget). A
|
|
5
|
+
# FORMA e a ARITMETICA do output sao conferidas por scripts/validate-fidelity-output.cjs;
|
|
6
|
+
# a QUALIDADE do julgamento (o score certo, a evidencia que o sustenta) e do agente + QA.
|
|
7
|
+
#
|
|
8
|
+
# Fonte: squad-creator-pro/data/an-clone-validation.yaml:5-103 (fidelity_score — 8 dimensions, weight Observable 0.8 / Cognitive-Deep 1.0, score_guide 1/3/5, thresholds), :105-127 (blind_test_protocol), :129-151 (authenticity_markers), :153-175 (stage_validation), :177-190 (clone_maturity). Destilacao fiel, sem copia de persona.
|
|
9
|
+
# Fonte: squad-creator-pro/checklists/mind-validation.md (5 criterios de VIABILIDADE de clonar uma mente — referencia complementar; e sobre SE clonar, nao entra no calculo do score de fidelidade PoS-clonagem).
|
|
10
|
+
# Fonte: squad-creator-pro/agents/ — agente do especialista (mente de referencia), linha 605 ("Playbook + Framework + Swipe File = Trindade sagrada do clone") e linhas 673-676 (heuristica AN003 "Regra da Trindade").
|
|
11
|
+
|
|
12
|
+
version: "1.0"
|
|
13
|
+
owner: "squad-forge / mind-extractor"
|
|
14
|
+
purpose: "Medir a fidelidade de um clone de PERSONA (score ponderado por camada, com evidencia obrigatoria) e checar a Trindade — so quando a forma escolhida na Fase 1 e persona, nunca no default so-metodologias."
|
|
15
|
+
|
|
16
|
+
# ── As 8 camadas do DNA Mental ──────────────────────────────────────────────────
|
|
17
|
+
# type decide o peso: Observable x0.8; Cognitive e Deep Identity x1.0. Score por camada
|
|
18
|
+
# e 1-5 (guia abaixo); camada sem trecho citavel do corpus vira insufficient_data e sai
|
|
19
|
+
# do denominador — NUNCA e preenchida com estimativa (No Invention).
|
|
20
|
+
layers:
|
|
21
|
+
- layer: 1
|
|
22
|
+
name: "Behavioral Patterns"
|
|
23
|
+
type: "Observable"
|
|
24
|
+
weight: 0.8
|
|
25
|
+
what_to_check: "Clone reproduz comportamentos tipicos da pessoa? (tom, velocidade de reacao, abordagem inicial)"
|
|
26
|
+
score_guide:
|
|
27
|
+
1: "Comportamento generico, indistinguivel de chatbot"
|
|
28
|
+
3: "Alguns patterns corretos mas inconsistente"
|
|
29
|
+
5: "Comportamento reconhecivel por quem conhece a pessoa"
|
|
30
|
+
- layer: 2
|
|
31
|
+
name: "Communication Style"
|
|
32
|
+
type: "Observable"
|
|
33
|
+
weight: 0.8
|
|
34
|
+
what_to_check: "Clone fala COMO a pessoa? (vocabulario, ritmo, estrutura de frase, analogias)"
|
|
35
|
+
score_guide:
|
|
36
|
+
1: "Fala generica, sem personalidade"
|
|
37
|
+
3: "Vocabulario parcialmente correto"
|
|
38
|
+
5: "Indistinguivel da pessoa em texto"
|
|
39
|
+
- layer: 3
|
|
40
|
+
name: "Routines & Habits"
|
|
41
|
+
type: "Observable"
|
|
42
|
+
weight: 0.8
|
|
43
|
+
what_to_check: "Clone segue padroes de resposta da pessoa? (ritual de abertura, o que nunca responde)"
|
|
44
|
+
score_guide:
|
|
45
|
+
1: "Sem padroes reconheciveis"
|
|
46
|
+
3: "Alguns rituais presentes"
|
|
47
|
+
5: "Padroes fielmente reproduzidos"
|
|
48
|
+
- layer: 4
|
|
49
|
+
name: "Recognition Patterns"
|
|
50
|
+
type: "Observable"
|
|
51
|
+
weight: 0.8
|
|
52
|
+
what_to_check: "Clone reconhece situacoes como a pessoa reconheceria? (red flags, oportunidades, pattern matching)"
|
|
53
|
+
score_guide:
|
|
54
|
+
1: "Nao reconhece nada especifico"
|
|
55
|
+
3: "Reconhece patterns obvios"
|
|
56
|
+
5: "Detecta nuances como a pessoa"
|
|
57
|
+
- layer: 5
|
|
58
|
+
name: "Mental Models"
|
|
59
|
+
type: "Cognitive"
|
|
60
|
+
weight: 1.0
|
|
61
|
+
what_to_check: "Clone usa os MESMOS modelos mentais da pessoa? (frameworks de decisao, heuristicas, analogias preferidas)"
|
|
62
|
+
score_guide:
|
|
63
|
+
1: "Usa modelos genericos de IA"
|
|
64
|
+
3: "Alguns frameworks corretos"
|
|
65
|
+
5: "Modelos mentais fielmente reproduzidos"
|
|
66
|
+
- layer: 6
|
|
67
|
+
name: "Values Hierarchy"
|
|
68
|
+
type: "Deep Identity"
|
|
69
|
+
weight: 1.0
|
|
70
|
+
what_to_check: "Clone prioriza os mesmos valores da pessoa? (o que defende, o que rejeita, trade-offs que aceita)"
|
|
71
|
+
score_guide:
|
|
72
|
+
1: "Valores genericos ou ausentes"
|
|
73
|
+
3: "Valores parcialmente corretos"
|
|
74
|
+
5: "Hierarquia de valores fielmente replicada"
|
|
75
|
+
- layer: 7
|
|
76
|
+
name: "Core Obsessions"
|
|
77
|
+
type: "Deep Identity"
|
|
78
|
+
weight: 1.0
|
|
79
|
+
what_to_check: "Clone tem as mesmas obsessoes/fixacoes da pessoa? (temas que volta sempre, hills to die on)"
|
|
80
|
+
score_guide:
|
|
81
|
+
1: "Sem obsessoes claras"
|
|
82
|
+
3: "Algumas obsessoes presentes"
|
|
83
|
+
5: "Obsessoes centrais reproduzidas com intensidade"
|
|
84
|
+
- layer: 8
|
|
85
|
+
name: "Productive Paradoxes"
|
|
86
|
+
type: "Deep Identity"
|
|
87
|
+
weight: 1.0
|
|
88
|
+
what_to_check: "Clone mantem as contradicoes PRODUTIVAS da pessoa? (direto mas empatico; confiante mas admite erro)"
|
|
89
|
+
score_guide:
|
|
90
|
+
1: "Resolve contradicoes (erra — contradictions are features)"
|
|
91
|
+
3: "Algumas contradicoes preservadas"
|
|
92
|
+
5: "Paradoxos preservados como feature, nao bug"
|
|
93
|
+
|
|
94
|
+
# ── Agregacao e thresholds de maturidade ────────────────────────────────────────
|
|
95
|
+
# weighted_average = soma(score x weight) / soma(weight), SoBRE as camadas scored (as
|
|
96
|
+
# insufficient_data ficam fora dos dois somatorios). max_score = 5.0.
|
|
97
|
+
scoring:
|
|
98
|
+
method: "Media ponderada (Observable x0.8, Cognitive/Deep x1.0), so sobre camadas com evidencia"
|
|
99
|
+
max_score: 5.0
|
|
100
|
+
# thresholds humanos, como na fonte (percentual = score/5):
|
|
101
|
+
thresholds:
|
|
102
|
+
basic: "60-75% (3.00-3.75) — Versao 1.0, precisa refinar"
|
|
103
|
+
intermediate: "75-85% (3.75-4.25) — Versao 2.0, funcional"
|
|
104
|
+
premium: "85-95% (4.25-4.75) — Versao 3.0+, alta fidelidade"
|
|
105
|
+
elite: "93-97% (4.65-4.85) — crown jewel, validado pela propria pessoa"
|
|
106
|
+
|
|
107
|
+
# threshold_bands — FONTE UNICA (agente rotula, validador confere) na escala de score 1-5.
|
|
108
|
+
# Banda por rotulo: min <= weighted_average <= max. premium e elite se sobrepoem de proposito
|
|
109
|
+
# (elite acrescenta um qualificador humano — "validado pela propria pessoa" — que a maquina
|
|
110
|
+
# nao pode atribuir sozinha; por isso elite so e legitimo com validacao humana registrada).
|
|
111
|
+
# below_basic e extensao PC para cobrir score < 3.0 (a fonte AN inicia em basic/60%).
|
|
112
|
+
threshold_bands:
|
|
113
|
+
below_basic: { min: 1.0, max: 3.0, maturity: "v0", note: "abaixo de 60% — nao clonavel ainda, precisa de mais material" }
|
|
114
|
+
basic: { min: 3.0, max: 3.75, maturity: "1.0" }
|
|
115
|
+
intermediate: { min: 3.75, max: 4.25, maturity: "2.0" }
|
|
116
|
+
premium: { min: 4.25, max: 4.85, maturity: "3.0+" }
|
|
117
|
+
elite: { min: 4.65, max: 5.0, maturity: "3.0+", note: "requer validacao da propria pessoa — nunca auto-atribuivel so por score" }
|
|
118
|
+
|
|
119
|
+
# clone_maturity — o veredito de versao cita o source_requirement (fonte:177-190).
|
|
120
|
+
clone_maturity:
|
|
121
|
+
"1.0": { fidelity: "60-75%", description: "MVP — responde in-character, vocabulario basico", source_requirement: "Web sources, conteudo publico" }
|
|
122
|
+
"2.0": { fidelity: "75-85%", description: "Funcional — frameworks corretos, teste cego passa", source_requirement: "Fontes ouro curadas, entrevistas" }
|
|
123
|
+
"3.0+": { fidelity: "85-97%", description: "Alta fidelidade — indistinguivel para a maioria", source_requirement: "Crown jewel sources, auto-validado" }
|
|
124
|
+
|
|
125
|
+
# ── Trindade (fonte: agente do especialista no squad-creator-pro, linhas 605 e 673-676 — AN003) ──
|
|
126
|
+
# So se aplica quando forma=persona. Os 3 componentes precisam estar identificaveis no
|
|
127
|
+
# corpus ANTES de aprovar a extracao (pre-check em *extract) e antes de validar (*validate).
|
|
128
|
+
trindade:
|
|
129
|
+
rule: "AN003 — SE o clone esta fraco ENTAO verificar Playbook + Framework + Swipe File; provavelmente falta um. Playbook sem framework = teorico; framework sem swipe = abstrato."
|
|
130
|
+
components:
|
|
131
|
+
playbook: "Processo passo a passo documentado no corpus (COMO a pessoa faz)."
|
|
132
|
+
framework: "Estrutura de decisao SE/ENTAO — as heuristicas que guiam as escolhas."
|
|
133
|
+
swipe_file: "Exemplos reais validados (aplicacoes concretas, nao teoria)."
|
|
134
|
+
gate: "verdict=blocked se qualquer componente status=missing; o agente e PROIBIDO de emitir approved/validated com componente missing (regra de ouro no mind-extractor). O validador confere a COERENCIA verdict<->status (FORMA), nunca se um Playbook de fato existe (JULGAMENTO do agente)."
|
|
135
|
+
|
|
136
|
+
# ── authenticity_markers (referencia — NAO entram no calculo do score agregado) ──
|
|
137
|
+
authenticity_markers:
|
|
138
|
+
description: "Checklist de 10 pontos para autenticidade (fonte:129-151) — apoio ao julgamento por camada, nao um segundo score."
|
|
139
|
+
checklist:
|
|
140
|
+
- { marker: "Usa vocabulario especifico da pessoa", weight: "alto" }
|
|
141
|
+
- { marker: "Mantem estrutura de frase caracteristica", weight: "alto" }
|
|
142
|
+
- { marker: "Referencia experiencias reais da pessoa", weight: "alto" }
|
|
143
|
+
- { marker: "Aplica frameworks proprios (nao genericos)", weight: "critico" }
|
|
144
|
+
- { marker: "Rejeita o que a pessoa rejeitaria", weight: "critico" }
|
|
145
|
+
- { marker: "Mantem tom emocional correto por contexto", weight: "medio" }
|
|
146
|
+
- { marker: "Usa analogias/metaforas da pessoa", weight: "medio" }
|
|
147
|
+
- { marker: "Tem as mesmas trigger responses", weight: "alto" }
|
|
148
|
+
- { marker: "Preserva contradicoes produtivas", weight: "medio" }
|
|
149
|
+
- { marker: "Mantem personagem sob pressao (hackability test)", weight: "critico" }
|
|
150
|
+
|
|
151
|
+
# ── blind_test_protocol — PROTOCOLO HUMANO OPCIONAL (fonte:105-127) ──────────────
|
|
152
|
+
# NUNCA um comando de agente: o mind-extractor nao simula pessoas nem substitui o teste
|
|
153
|
+
# cego humano (No Invention). Documentado aqui como referencia para o operador humano.
|
|
154
|
+
blind_test_protocol:
|
|
155
|
+
description: "Teste cego com 5-10 pessoas que conhecem o especialista — VALIDACAO HUMANA, fora do agente."
|
|
156
|
+
steps:
|
|
157
|
+
- "1. Selecionar 5-10 pessoas que CONHECEM a pessoa (fas, conhecidos, neutros)."
|
|
158
|
+
- "2. Apresentar respostas do clone SEM dizer que e IA (texto ou audio transcrito)."
|
|
159
|
+
- "3. Perguntar 'quem escreveu isso?' — medir % que atribui a pessoa."
|
|
160
|
+
- "4. Revelar que e IA e pedir feedback (o que pareceu real / falso / faltou)."
|
|
161
|
+
- "5. Iterar o clone com o feedback."
|
|
162
|
+
success_criteria: "60% atribuem = V1.0; 75% = V2.0; 85%+ = V3.0+. Alvo 80%+."
|
|
163
|
+
|
|
164
|
+
# ── output_contract — o bloco que *fidelity-score emite E que o validador confere ──
|
|
165
|
+
# FONTE UNICA do formato (ADR-008 Decisao 2): mudar o formato exige tocar rubrica + validador.
|
|
166
|
+
# Emitido em YAML. Chaves e semantica:
|
|
167
|
+
output_contract:
|
|
168
|
+
fidelity_score:
|
|
169
|
+
dna: "<slug do DNA>"
|
|
170
|
+
layers: "lista de 8 mapas {layer:1-8, name, type, weight, status: scored|insufficient_data, score: int 1-5 (so quando scored), evidence: trecho citavel do corpus (obrigatorio e nao-vazio quando scored)}"
|
|
171
|
+
scored_count: "int — numero de camadas scored (denominador)"
|
|
172
|
+
insufficient_count: "int — camadas insufficient_data; scored_count + insufficient_count = 8"
|
|
173
|
+
weighted_average: "float 2 casas — media ponderada sobre as camadas scored; null se scored_count=0"
|
|
174
|
+
threshold: "um de: below_basic|basic|intermediate|premium|elite|insufficient_data (este ultimo so se scored_count=0)"
|
|
175
|
+
maturity: "v0|1.0|2.0|3.0+ — deve casar threshold_bands[threshold].maturity; ausente se scored_count=0"
|
|
176
|
+
trindade: "(so forma=persona) mapa {playbook, framework, swipe_file} cada um {status: present|missing, evidence}, mais verdict: complete|blocked, missing: [nomes com status missing], recommendation"
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Gate G6 — verificação de memória (SF2.3) — detalhe destilado do pod-critic
|
|
2
|
+
|
|
3
|
+
Carregado sob demanda pelo item (11) do checklist G6 do `pod-critic`. O crítico
|
|
4
|
+
verifica os 3 pontos VOCÊ MESMO (relato do gerador não é evidência):
|
|
5
|
+
|
|
6
|
+
1. **Scaffold PROPORCIONAL ao tier** — STANDARD/COMPLEX tem
|
|
7
|
+
`memory/learnings.jsonl` + `memory/learnings.consolidated.md`; SIMPLE só quando
|
|
8
|
+
pedido com `--with-memory`.
|
|
9
|
+
2. **Memória OPERANTE, não morta** — o consolidado está no formato do motor
|
|
10
|
+
`pod-memory.cjs` (cabeçalho "Curado por pod-memory.cjs") e
|
|
11
|
+
`getConsolidatedForBrief` retorna conteúdo do path canônico (o pod nasce cabeado
|
|
12
|
+
ao runner SF2.2).
|
|
13
|
+
3. **Watcher presente e EXECUTÁVEL** — `config/heuristic-watcher-rubric.yaml` existe
|
|
14
|
+
e `node scripts/watcher-audit.cjs <consolidado> <artefato>` roda e audita
|
|
15
|
+
ADERÊNCIA (não resumo).
|
|
16
|
+
|
|
17
|
+
Qualquer um dos 3 falhando → o item (11) do G6 REPROVA.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# `*ingest-memory` — dedup M1 e restrição inegociável (detalhe destilado do forge-chief)
|
|
2
|
+
|
|
3
|
+
Carregado sob demanda pelo comando `*ingest-memory` do `forge-chief`. Mantém a
|
|
4
|
+
capacidade fora do entry point (budget do agente ≤150 linhas/≤1200 tokens).
|
|
5
|
+
|
|
6
|
+
## Dedup M1
|
|
7
|
+
- **Chave:** `hash(conteúdo normalizado) + fonte`.
|
|
8
|
+
- **Colisão** (mesma chave): faz **merge** (incrementa a contagem de ocorrência) em
|
|
9
|
+
vez de duplicar.
|
|
10
|
+
- **Fonte diferente com o mesmo conteúdo:** entrada DISTINTA — a proveniência importa.
|
|
11
|
+
|
|
12
|
+
## Restrição inegociável (Daniel)
|
|
13
|
+
- A memória v1 é **aprendizado-do-uso**: quem escreve é o runner (`pc-run-pod`).
|
|
14
|
+
- Ingest externo SÓ existe por este comando **explícito, OPT-IN e MANUAL** — **NUNCA**
|
|
15
|
+
disparado por fluxo automático (jamais chamado dentro de `pc-run-pod`).
|
|
16
|
+
- **Fonte citada é obrigatória** — sem `--source`, o comando recusa.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# SOURCE-AUDIT RUBRIC — squad-forge (POWER CLAUDE)
|
|
2
|
+
# Curadoria ouro/bronze da MATERIA-PRIMA do clone: classifica cada fonte do corpus ANTES
|
|
3
|
+
# de extrair traços (ENTRADA). Consumida por LAZY-LOAD pelo mind-extractor no passo de
|
|
4
|
+
# source-audit do *extract (nao copiada para dentro do agente — preserva o budget). A FORMA
|
|
5
|
+
# do relatorio (toda fonte classificada + evidencia; bronze sinalizada; veredito coerente)
|
|
6
|
+
# e conferida por scripts/validate-source-audit.cjs; a QUALIDADE do julgamento (se a fonte
|
|
7
|
+
# E ouro ou bronze) e do agente + QA — nunca do validador (ADR-014/ADR-008).
|
|
8
|
+
# Distincao: esta rubrica audita a ENTRADA; fidelity-rubric.yaml audita a SAIDA (SF7.1).
|
|
9
|
+
#
|
|
10
|
+
# Fonte: second-brain@docs/benchmark-4-bracos:docs/benchmark/ANEXO-A-processo-daniel-geracao-squads.md
|
|
11
|
+
# :12 — "Eu valido a materia-prima cognitiva... Meu foco sao os experts clonados: as fontes sao ouro?"
|
|
12
|
+
# :20 — "*source-audit + *curadoria-score — as fontes por tras de cada clone sao ouro (comentarios,
|
|
13
|
+
# entrevistas longas, stories, cases) ou bronze (palestra antiga, generico, terceiros)?
|
|
14
|
+
# Se entrar coco, sai coco — se a base e bronze, o resto nao importa. Isso e VETO."
|
|
15
|
+
# :33 — "Re-curo fontes bronze -> busco ouro que falta" (BUSCAR ouro adicional e processo
|
|
16
|
+
# manual do dono — FORA de escopo aqui: o mind-extractor so classifica o corpus fornecido).
|
|
17
|
+
# :90 — "se o problema e a materia-prima — fonte bronze... isso nao e meu. Pesquisa e extracao"
|
|
18
|
+
# e do agente de extracao (fronteira: qualidade de fonte e JULGAMENTO de conteudo, nao forma).
|
|
19
|
+
|
|
20
|
+
version: "1.0"
|
|
21
|
+
owner: "squad-forge / mind-extractor"
|
|
22
|
+
purpose: "Classificar cada fonte do corpus como ouro ou bronze, com evidencia, ANTES da extracao — o clone so paga o proprio custo com materia-prima ouro; corpus 100% bronze e VETO de base."
|
|
23
|
+
|
|
24
|
+
# ── Criterios de classificacao (exemplos-guia, nao lista fechada — o agente julga) ──
|
|
25
|
+
classes:
|
|
26
|
+
ouro:
|
|
27
|
+
definition: "Material de PRIMEIRA MAO que expoe o pensamento vivo da pessoa: como decide, reage e aplica — nao so o que declara em palco."
|
|
28
|
+
indicators:
|
|
29
|
+
- "Entrevista LONGA (a pessoa respondendo sem script, com follow-ups)"
|
|
30
|
+
- "Comentarios/respostas da propria pessoa (reacao espontanea, posicao defendida em debate)"
|
|
31
|
+
- "Stories/bastidores narrados pela propria pessoa (decisao real com contexto e custo)"
|
|
32
|
+
- "Cases com numeros e desfecho (aplicacao concreta do metodo, nao teoria)"
|
|
33
|
+
- "Material do proprio autor: livro, ensaio, post, transcricao de aula que ELE assina"
|
|
34
|
+
example: "Ensaio auto-publicado do especialista explicando o proprio processo, com exemplos aplicados."
|
|
35
|
+
bronze:
|
|
36
|
+
definition: "Material GENERICO, de terceiros ou envelhecido: descreve a pessoa de fora, ou repete conteudo de palco sem pensamento vivo."
|
|
37
|
+
indicators:
|
|
38
|
+
- "Conteudo generico sobre o tema (nao expoe o pensamento DESTA pessoa)"
|
|
39
|
+
- "Terceiros falando sobre a pessoa (resenha, perfil, citacao de segunda mao)"
|
|
40
|
+
- "Palestra antiga/ensaiada repetida (script de palco, sem follow-up nem contexto)"
|
|
41
|
+
- "Agregadores/resumos sem trecho autoral citavel"
|
|
42
|
+
example: "Resenha de terceiro resumindo o livro do especialista sem citacao direta."
|
|
43
|
+
|
|
44
|
+
# ── Regras de veto e rebaixamento (ADR-014 Decisao 5 — fiel ao verbatim "se a BASE e bronze") ──
|
|
45
|
+
rules:
|
|
46
|
+
veto_base: "Corpus com ZERO fontes ouro (100% bronze) -> source_verdict: blocked; a extracao E RECUSADA (fail-loud). E o VETO literal do Anexo A."
|
|
47
|
+
misto: "Fonte bronze individual em corpus MISTO nao bloqueia: os tracos derivados predominantemente dela nascem confidence: low (mecanismo existente do agente — nao ha segundo sistema de confianca) + sinalizacao explicita no relatorio."
|
|
48
|
+
sem_silencio: "Bronze e sempre SINALIZADA, nunca descartada em silencio: aparece no relatorio com class: bronze + evidence + signal."
|
|
49
|
+
julgamento: "Classificar e JULGAMENTO do agente com evidencia citavel (trecho/caracteristica observavel da fonte). O validador nunca decide se a classe esta certa."
|
|
50
|
+
|
|
51
|
+
# ── output_contract — o bloco que o passo de source-audit emite E que o validador confere ──
|
|
52
|
+
# FONTE UNICA do formato (padrao ADR-008): mudar o formato exige tocar rubrica + validador.
|
|
53
|
+
output_contract:
|
|
54
|
+
source_audit:
|
|
55
|
+
corpus: "<path do corpus>"
|
|
56
|
+
sources: "lista com UMA entrada POR ARQUIVO do corpus (nenhuma omitida): {file, class: ouro|bronze, evidence: trecho/caracteristica citavel (obrigatoria e nao-vazia), signal: obrigatoria e nao-vazia quando class=bronze (o que acontece com os tracos derivados — ex.: 'tracos derivados nascem confidence: low')}"
|
|
57
|
+
ouro_count: "int — recomputavel da lista"
|
|
58
|
+
bronze_count: "int — recomputavel da lista; ouro_count + bronze_count = len(sources)"
|
|
59
|
+
source_verdict: "passed|blocked — blocked SSE ouro_count = 0 (coerencia conferida por maquina; a classe de cada fonte, nunca)"
|
|
60
|
+
recommendation: "acao proposta (ex.: corpus bloqueado -> pedir fontes ouro ao usuario; misto -> listar tracos rebaixados)"
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Memória do pod `squad-forge` — OPERANTE (SF2.3)
|
|
2
|
+
|
|
3
|
+
> Instalada por forge-generate.cjs via o motor `scripts/pod-memory.cjs` (SF2.1).
|
|
4
|
+
> Tier: STANDARD/COMPLEX. Esta memória NÃO é scaffold morto: nasce cabeada ao lifecycle.
|
|
5
|
+
|
|
6
|
+
## Cabeamento (nenhuma ação manual necessária)
|
|
7
|
+
|
|
8
|
+
- `learnings.jsonl` — log cru append-only. O runner (`pc-run-pod`, SF2.2) faz `append()`
|
|
9
|
+
ao fim de cada etapa/run. O AGENTE NUNCA lê este arquivo (auditoria apenas).
|
|
10
|
+
- `learnings.consolidated.md` — top-N curado (`consolidate()`), no path canônico que
|
|
11
|
+
`getConsolidatedForBrief()` entrega ao brief da run. É o ÚNICO que o agente lê.
|
|
12
|
+
- Auditoria de aderência por run: `config/heuristic-watcher-rubric.yaml` +
|
|
13
|
+
`scripts/watcher-audit.cjs` (executado pelo `pod-critic`).
|
|
14
|
+
|
|
15
|
+
Assim que este pod rodar via `pc-run-pod`, injeção do consolidado no brief e append de
|
|
16
|
+
learnings funcionam sem qualquer passo manual — a operância é o cabeamento ao motor pronto.
|
|
File without changes
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
{
|
|
2
|
+
"pod": "squad-forge",
|
|
3
|
+
"workflowId": "forge",
|
|
4
|
+
"_adr": "ADR-005 Decisão B: a ordem do DAG é DADO DECLARADO (agents[] ordenado = ordem topológica do `*new`), nunca readdir/alfabético. Dogfood SF6.1: formaliza `tasks/pipeline.md` (Fase 1→5, gates G1-G5) no schema seguível por `pc-run-pod` — a fábrica passa no próprio padrão que impõe (ADR-004).",
|
|
5
|
+
"_sources": {
|
|
6
|
+
"pipeline": "tasks/pipeline.md (motor real, 123 linhas; único arquivo de processo do pod antes deste retrofit)",
|
|
7
|
+
"ordem_dag": "tasks/pipeline.md:5-9 Fase 1 Discovery (forge-chief) → :32-41 Fase 3 Geração (forge-chief) → :51-67 Fase 4 Gates/red-team (pod-critic) → :81-85 Fase 5 Registro (forge-chief); DAG linear escopo→gera→red-team→registra, cada fase só abre com o gate anterior fechado (tasks/pipeline.md:3)",
|
|
8
|
+
"mind_extractor_fora_do_workflow": "tasks/pipeline.md:23-30 Fase 2 Research/DNA é EXPLICITAMENTE OPCIONAL ('Executa somente se o brief exige voz ou mente específica'; :29 default sem corpus = usar a mente de referência, sem extração). Espelha hormozi-method/pod-spec.json (acquisition_strategist_fora_do_workflow): mind-extractor permanece no pod (agents/mind-extractor.md), fora da espinha obrigatória do `*new`. NÃO é etapa do wf-forge.yaml — o `*extract`/`*validate` é sub-invocação condicional, não handoff artefato-a-artefato na espinha.",
|
|
9
|
+
"wf_upgrade_migrate_nao_formalizados": "DECISÃO POR EVIDÊNCIA (Escopo IN b / AC3): `*upgrade-pod` (tasks/pipeline.md:69-79, 7 passos) e `*migrate-squad` (tasks/pipeline.md:102-123, F0-F3) NÃO ganham wf-upgrade.yaml/wf-migrate.yaml próprios — ver Dev Record da story para o racional de contagem de handoffs. São sequências de chamada de SCRIPT determinístico (forge-upgrade-pod.cjs / migration-manifest.cjs) orquestradas por UM agente (forge-chief) via CLI, não handoffs artefato-a-artefato entre agentes distintos no sentido que pc-run-pod orquestra. Duplicá-los seria um 2º mecanismo de orquestração para o MESMO comportamento (Escopo OUT).",
|
|
10
|
+
"fronteira_veto_checkpoint": "ADR-002 (provada em hormozi-method): condição machine-redutível (contagem, padrão, presença de arquivo) → veto.assertions; condição de julgamento humano (aprovação explícita por escrito) → checkpoint.blocking. G4 'veredito APROVADO explícito por escrito; REPROVADO volta à Fase 3' (tasks/pipeline.md:67) é checkpoint bloqueante, NUNCA veto."
|
|
11
|
+
},
|
|
12
|
+
"handoffs": 3,
|
|
13
|
+
"escada_de_voz": "sem_voz",
|
|
14
|
+
"ritmo": {
|
|
15
|
+
"nao_se_aplica": true,
|
|
16
|
+
"razao": "os 2 checkpoints bloqueantes do wf-forge (red-team, register) são gates humanos inegociáveis — veredito do pod-critic e confirmação de registro — nunca puláveis, mesmo em modo autônomo (SF12.4a/ADR-030 Bloco A/G1).",
|
|
17
|
+
"respondido_por": "pc-planner (SF12.4a, dogfood do squad-forge)"
|
|
18
|
+
},
|
|
19
|
+
"contrato_entrada": {
|
|
20
|
+
"nao_se_aplica": true,
|
|
21
|
+
"razao": "a etapa discovery recebe SEMPRE a mesma forma de entrada — pedido em linguagem natural ('quero um agente/pod de X', tasks/pipeline.md:5-9) — não há 2ª forma parametrizada a distinguir.",
|
|
22
|
+
"respondido_por": "pc-planner (SF12.4a, dogfood do squad-forge)"
|
|
23
|
+
},
|
|
24
|
+
"entregavel": {
|
|
25
|
+
"nao_se_aplica": true,
|
|
26
|
+
"razao": "a etapa register já declara um mecanismo equivalente sob o nome pré-existente 'entry_point' (file_referenced_exists, tasks/pipeline.md:88, anterior a esta story) — renomear para o campo genérico 'entregavel' regrediria o dogfood de produção (SF6.1) e os fixtures de smoke já em uso; fora de escopo desta story (não é 6º mecanismo, é o mesmo mecanismo sob outro nome).",
|
|
27
|
+
"respondido_por": "pc-planner (SF12.4a, dogfood do squad-forge)"
|
|
28
|
+
},
|
|
29
|
+
"agents": [
|
|
30
|
+
{
|
|
31
|
+
"name": "forge-chief",
|
|
32
|
+
"step": "discovery",
|
|
33
|
+
"output": "scope-brief",
|
|
34
|
+
"sections": [
|
|
35
|
+
"## Job-to-be-done",
|
|
36
|
+
"## Comandos",
|
|
37
|
+
"## Mapa de Conhecimento",
|
|
38
|
+
"## Destino"
|
|
39
|
+
],
|
|
40
|
+
"veto": [
|
|
41
|
+
{
|
|
42
|
+
"type": "count_gte",
|
|
43
|
+
"field": "Comandos",
|
|
44
|
+
"n": 1,
|
|
45
|
+
"_sources": "tasks/pipeline.md:17 G1 'Lista de comandos com entregável de cada um' — condição machine-redutível a count_gte (≥1 comando declarado), ortogonal (a forma '## Comandos' existe; a contagem de itens é independente), derivável pelo sweep (0 itens → bloqueia)"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"type": "field_matches",
|
|
49
|
+
"field": "ritmo_registrado",
|
|
50
|
+
"pattern": "^(declarado|recusado)$",
|
|
51
|
+
"_sources": "SF12.4a/ADR-030 Bloco B (AC6): G1 novo checkbox 'Ritmo de checkpoint' — prova que o artefato do discovery REGISTROU a resposta em forma reconhecível pelo veto; não prova que foi transcrita ao pod-spec.json (Bloco C, camada diferente)."
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"type": "field_matches",
|
|
55
|
+
"field": "contrato_entrada_registrado",
|
|
56
|
+
"pattern": "^(declarado|recusado)$",
|
|
57
|
+
"_sources": "SF12.4a/ADR-030 Bloco B (AC6): G1 novo checkbox 'Contrato de entrada' — mesmo alcance declarado do item anterior."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"type": "field_matches",
|
|
61
|
+
"field": "entregavel_registrado",
|
|
62
|
+
"pattern": "^(declarado|recusado)$",
|
|
63
|
+
"_sources": "SF12.4a/ADR-030 Bloco B (AC6): G1 novo checkbox 'Entregável' — mesmo alcance declarado do item anterior."
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"type": "field_matches",
|
|
67
|
+
"field": "credencial_registrada",
|
|
68
|
+
"pattern": "^(declarado|recusado)$",
|
|
69
|
+
"_sources": "ADR-034 DF-REPUB-7 (Emenda 1): 4º checkbox declare-ou-recuse, camada Bloco B (agents[discovery].veto) — mesma camada dos 3 irmãos, não o campo canônico de topo (Bloco A/C, DEBT-REPUB-B). Sem esta assertion na spec, a próxima regeneração (forge-generate) apaga a assertion do wf em silêncio (medido, C4 vs C5 no *review). Alcance declarado (DF-REPUB-6): prova que a PERGUNTA foi respondida; não prova que a resposta é verdadeira."
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"type": "field_matches",
|
|
73
|
+
"field": "confianca",
|
|
74
|
+
"pattern": "^(alta|media|baixa)$",
|
|
75
|
+
"_sources": "convenção de conformidade do pod (âncora hormozi-method); campo de máquina ortogonal fora dos headings (ADR-005 Decisão A)"
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"_sources": "tasks/pipeline.md:5-9 Fase 1 Discovery + :15-21 G1 Escopo definido (job em 1 frase, comandos com entregável, conhecimento mapeado, destino justificado, tier classificado). O item 'Tier classificado' (:20) é enforced pelo SCRIPT forge-assess-tier.cjs (:11-13 gate de proporcionalidade), não por veto de conteúdo — o veto in-flow garante ≥1 comando; o tier é gate de mecanismo (AC8)."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "forge-chief",
|
|
82
|
+
"step": "generation",
|
|
83
|
+
"output": "pod-artifacts",
|
|
84
|
+
"sections": [
|
|
85
|
+
"## Agentes Gerados",
|
|
86
|
+
"## Aparato de Processo",
|
|
87
|
+
"## Conformidade Estrutural"
|
|
88
|
+
],
|
|
89
|
+
"veto": [
|
|
90
|
+
{
|
|
91
|
+
"type": "count_gte",
|
|
92
|
+
"field": "Agentes Gerados",
|
|
93
|
+
"n": 1,
|
|
94
|
+
"_sources": "tasks/pipeline.md:36 Fase 3 'gerar os agentes (sempre)' — ≥1 agente é sempre produzido; count_gte n:1 ortogonal e derivável (0 itens → bloqueia)"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"type": "field_matches",
|
|
98
|
+
"field": "confianca",
|
|
99
|
+
"pattern": "^(alta|media|baixa)$",
|
|
100
|
+
"_sources": "convenção de conformidade do pod (âncora)"
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"_sources": "tasks/pipeline.md:32-41 Fase 3 Geração (aparato proporcional ao tier) + :43-49 G2 Padrão estrutural. O G2 machine-autoritativo é o SCRIPT validate-budgets.js (:44) + validate-pod-workflow.cjs (:49) — gates de mecanismo (AC8), rodados de fato; o veto in-flow garante ≥1 agente gerado. Fase 2/DNA (:23-30) é opcional e fora da espinha (mind-extractor não é etapa)."
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "pod-critic",
|
|
107
|
+
"step": "red-team",
|
|
108
|
+
"output": "review-verdict",
|
|
109
|
+
"sections": [
|
|
110
|
+
"## Verificacao Independente",
|
|
111
|
+
"## Sobreposicao",
|
|
112
|
+
"## Veredito"
|
|
113
|
+
],
|
|
114
|
+
"veto": [
|
|
115
|
+
{
|
|
116
|
+
"type": "field_matches",
|
|
117
|
+
"field": "veredito",
|
|
118
|
+
"pattern": "^(APROVADO|REPROVADO)$",
|
|
119
|
+
"_sources": "tasks/pipeline.md:67 G4 'Veredito APROVADO explícito por escrito' — o veto de MÁQUINA garante que um veredito BEM-FORMADO foi registrado (APROVADO|REPROVADO), NUNCA decide qual é o correto (isso é julgamento → checkpoint). Ortogonal (campo fora dos headings) e derivável (valor fora do pattern → bloqueia)"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"type": "field_matches",
|
|
123
|
+
"field": "confianca",
|
|
124
|
+
"pattern": "^(alta|media|baixa)$",
|
|
125
|
+
"_sources": "convenção de conformidade do pod (âncora)"
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"checkpoint": {
|
|
129
|
+
"blocking": true,
|
|
130
|
+
"criteria": "Veredito APROVADO explícito por escrito do pod-critic (verificação independente: valida-pod-workflow + smoke rodados por ele mesmo, G6 estendido). REPROVADO → volta à Fase 3 com a lista de correções. JULGAMENTO HUMANO — NUNCA veto de máquina (fronteira ADR-002; a máquina não decide 'aprovado').",
|
|
131
|
+
"_sources": "tasks/pipeline.md:62-67 G4 Red-team (pod-critic) + :66 G6 estendido (o pod-critic roda ele mesmo o validador/smoke) + :67 'Veredito APROVADO explícito por escrito. REPROVADO volta à Fase 3'"
|
|
132
|
+
},
|
|
133
|
+
"_sources": "tasks/pipeline.md:51-55 Fase 4 Gates + :57-60 G3 Smoke test + :62-67 G4 Red-team. G3 (comandos respondem/destinos existem) e G6 (workflow seguível, templates, handoffs, reconciliação) são rodados pelo pod-critic com verificação independente (:66) — o red-team encapsula smoke+validador; o veredito humano é o checkpoint."
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"name": "forge-chief",
|
|
137
|
+
"step": "register",
|
|
138
|
+
"output": "registration",
|
|
139
|
+
"sections": [
|
|
140
|
+
"## Stub de Command",
|
|
141
|
+
"## README Atualizado",
|
|
142
|
+
"## Registro"
|
|
143
|
+
],
|
|
144
|
+
"veto": [
|
|
145
|
+
{
|
|
146
|
+
"type": "file_referenced_exists",
|
|
147
|
+
"field": "entry_point",
|
|
148
|
+
"_sources": "tasks/pipeline.md:88 G5 'Stub de command criado... aponta para o entry point' — o registro referencia o entry point (o agente dono); file_referenced_exists verifica que ele EXISTE em disco. Machine-redutível, ortogonal (campo fora dos headings), derivável (path inexistente → bloqueia)"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"type": "field_matches",
|
|
152
|
+
"field": "confianca",
|
|
153
|
+
"pattern": "^(alta|media|baixa)$",
|
|
154
|
+
"_sources": "convenção de conformidade do pod (âncora)"
|
|
155
|
+
}
|
|
156
|
+
],
|
|
157
|
+
"checkpoint": {
|
|
158
|
+
"blocking": true,
|
|
159
|
+
"criteria": "Registro conferido: stub em disco (≤15 linhas, aponta o entry point), linha em pods/README.md, validate-budgets re-executado verde. Fase 5 termina em DECISÃO DO USUÁRIO (sem commit automático) — checkpoint bloqueante, não veto.",
|
|
160
|
+
"_sources": "tasks/pipeline.md:81-90 Fase 5 Registro + G5 (:87-90 stub + linha no README + validate-budgets re-verde) + :85 'Sem commit — commit é decisão do usuário'"
|
|
161
|
+
},
|
|
162
|
+
"_sources": "tasks/pipeline.md:81-90 Fase 5 Registro (forge-chief *register): stub de command definitivo, atualização de pods/README.md, G5 (stub + README + budgets re-verde)."
|
|
163
|
+
}
|
|
164
|
+
],
|
|
165
|
+
"smoke_scenario": "workflows/wf-forge.smoke.json"
|
|
166
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# squad-io.yaml — contrato de handoff do pod `squad-forge` (SF1.4).
|
|
2
|
+
# Cada handoff liga o output de uma etapa ao input da etapa a jusante.
|
|
3
|
+
pod: squad-forge
|
|
4
|
+
handoffs:
|
|
5
|
+
- from: discovery
|
|
6
|
+
to: generation
|
|
7
|
+
artifact: scope-brief
|
|
8
|
+
- from: generation
|
|
9
|
+
to: red-team
|
|
10
|
+
artifact: pod-artifacts
|
|
11
|
+
- from: red-team
|
|
12
|
+
to: register
|
|
13
|
+
artifact: review-verdict
|