mega-brain-ai 1.3.0
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.
- package/.antigravity/README.md +46 -0
- package/.antigravity/rules/.gitkeep +0 -0
- package/.antigravity/rules/mega-brain.md +39 -0
- package/.claude/CLAUDE.md +172 -0
- package/.claude/agents.yaml +44 -0
- package/.claude/commands/agents.md +161 -0
- package/.claude/commands/ask.md +117 -0
- package/.claude/commands/benchmark.md +224 -0
- package/.claude/commands/chat.md +343 -0
- package/.claude/commands/compare.md +116 -0
- package/.claude/commands/conclave.md +196 -0
- package/.claude/commands/config.md +133 -0
- package/.claude/commands/create-agent.md +467 -0
- package/.claude/commands/debate.md +159 -0
- package/.claude/commands/documentation/create-architecture-documentation.md +175 -0
- package/.claude/commands/dossiers.md +180 -0
- package/.claude/commands/evolve.md +223 -0
- package/.claude/commands/extract-dna.md +172 -0
- package/.claude/commands/extract-knowledge.md +507 -0
- package/.claude/commands/gsd/add-phase.md +43 -0
- package/.claude/commands/gsd/add-tests.md +41 -0
- package/.claude/commands/gsd/add-todo.md +47 -0
- package/.claude/commands/gsd/audit-milestone.md +36 -0
- package/.claude/commands/gsd/check-todos.md +45 -0
- package/.claude/commands/gsd/cleanup.md +18 -0
- package/.claude/commands/gsd/complete-milestone.md +136 -0
- package/.claude/commands/gsd/debug.md +167 -0
- package/.claude/commands/gsd/discuss-phase.md +83 -0
- package/.claude/commands/gsd/execute-phase.md +41 -0
- package/.claude/commands/gsd/health.md +22 -0
- package/.claude/commands/gsd/help.md +22 -0
- package/.claude/commands/gsd/insert-phase.md +32 -0
- package/.claude/commands/gsd/join-discord.md +18 -0
- package/.claude/commands/gsd/list-phase-assumptions.md +46 -0
- package/.claude/commands/gsd/map-codebase.md +71 -0
- package/.claude/commands/gsd/new-milestone.md +44 -0
- package/.claude/commands/gsd/new-project.md +42 -0
- package/.claude/commands/gsd/pause-work.md +38 -0
- package/.claude/commands/gsd/plan-milestone-gaps.md +34 -0
- package/.claude/commands/gsd/plan-phase.md +45 -0
- package/.claude/commands/gsd/progress.md +24 -0
- package/.claude/commands/gsd/quick.md +41 -0
- package/.claude/commands/gsd/reapply-patches.md +110 -0
- package/.claude/commands/gsd/remove-phase.md +31 -0
- package/.claude/commands/gsd/research-phase.md +189 -0
- package/.claude/commands/gsd/resume-work.md +40 -0
- package/.claude/commands/gsd/set-profile.md +34 -0
- package/.claude/commands/gsd/settings.md +36 -0
- package/.claude/commands/gsd/update.md +37 -0
- package/.claude/commands/gsd/verify-work.md +38 -0
- package/.claude/commands/inbox.md +296 -0
- package/.claude/commands/ingest-empresa.md +191 -0
- package/.claude/commands/ingest.md +183 -0
- package/.claude/commands/jarvis-briefing.md +67 -0
- package/.claude/commands/jarvis-control.md +169 -0
- package/.claude/commands/jarvis-full.md +182 -0
- package/.claude/commands/jarvis.md +212 -0
- package/.claude/commands/ler-drive.md +212 -0
- package/.claude/commands/log.md +158 -0
- package/.claude/commands/loop.md +133 -0
- package/.claude/commands/loops.md +73 -0
- package/.claude/commands/mission-autopilot.md +538 -0
- package/.claude/commands/mission.md +353 -0
- package/.claude/commands/process-inbox.md +148 -0
- package/.claude/commands/process-jarvis.md +3036 -0
- package/.claude/commands/process-video.md +131 -0
- package/.claude/commands/rag-search.md +78 -0
- package/.claude/commands/resume.md +33 -0
- package/.claude/commands/save.md +38 -0
- package/.claude/commands/scan-inbox.md +125 -0
- package/.claude/commands/setup.md +99 -0
- package/.claude/commands/system-digest.md +243 -0
- package/.claude/commands/verify.md +182 -0
- package/.claude/commands/view-dna.md +169 -0
- package/.claude/get-shit-done/VERSION +1 -0
- package/.claude/get-shit-done/bin/gsd-tools.cjs +588 -0
- package/.claude/get-shit-done/bin/lib/commands.cjs +553 -0
- package/.claude/get-shit-done/bin/lib/config.cjs +162 -0
- package/.claude/get-shit-done/bin/lib/core.cjs +411 -0
- package/.claude/get-shit-done/bin/lib/frontmatter.cjs +299 -0
- package/.claude/get-shit-done/bin/lib/init.cjs +710 -0
- package/.claude/get-shit-done/bin/lib/milestone.cjs +216 -0
- package/.claude/get-shit-done/bin/lib/phase.cjs +871 -0
- package/.claude/get-shit-done/bin/lib/roadmap.cjs +298 -0
- package/.claude/get-shit-done/bin/lib/state.cjs +679 -0
- package/.claude/get-shit-done/bin/lib/template.cjs +222 -0
- package/.claude/get-shit-done/bin/lib/verify.cjs +773 -0
- package/.claude/get-shit-done/references/checkpoints.md +776 -0
- package/.claude/get-shit-done/references/continuation-format.md +249 -0
- package/.claude/get-shit-done/references/decimal-phase-calculation.md +65 -0
- package/.claude/get-shit-done/references/git-integration.md +248 -0
- package/.claude/get-shit-done/references/git-planning-commit.md +38 -0
- package/.claude/get-shit-done/references/model-profile-resolution.md +34 -0
- package/.claude/get-shit-done/references/model-profiles.md +92 -0
- package/.claude/get-shit-done/references/phase-argument-parsing.md +61 -0
- package/.claude/get-shit-done/references/planning-config.md +196 -0
- package/.claude/get-shit-done/references/questioning.md +145 -0
- package/.claude/get-shit-done/references/tdd.md +263 -0
- package/.claude/get-shit-done/references/ui-brand.md +160 -0
- package/.claude/get-shit-done/references/verification-patterns.md +612 -0
- package/.claude/get-shit-done/templates/DEBUG.md +164 -0
- package/.claude/get-shit-done/templates/UAT.md +247 -0
- package/.claude/get-shit-done/templates/VALIDATION.md +76 -0
- package/.claude/get-shit-done/templates/codebase/architecture.md +255 -0
- package/.claude/get-shit-done/templates/codebase/concerns.md +310 -0
- package/.claude/get-shit-done/templates/codebase/conventions.md +307 -0
- package/.claude/get-shit-done/templates/codebase/integrations.md +280 -0
- package/.claude/get-shit-done/templates/codebase/stack.md +186 -0
- package/.claude/get-shit-done/templates/codebase/structure.md +285 -0
- package/.claude/get-shit-done/templates/codebase/testing.md +480 -0
- package/.claude/get-shit-done/templates/config.json +37 -0
- package/.claude/get-shit-done/templates/context.md +283 -0
- package/.claude/get-shit-done/templates/continue-here.md +78 -0
- package/.claude/get-shit-done/templates/debug-subagent-prompt.md +91 -0
- package/.claude/get-shit-done/templates/discovery.md +146 -0
- package/.claude/get-shit-done/templates/milestone-archive.md +123 -0
- package/.claude/get-shit-done/templates/milestone.md +115 -0
- package/.claude/get-shit-done/templates/phase-prompt.md +569 -0
- package/.claude/get-shit-done/templates/planner-subagent-prompt.md +117 -0
- package/.claude/get-shit-done/templates/project.md +184 -0
- package/.claude/get-shit-done/templates/requirements.md +231 -0
- package/.claude/get-shit-done/templates/research-project/ARCHITECTURE.md +204 -0
- package/.claude/get-shit-done/templates/research-project/FEATURES.md +147 -0
- package/.claude/get-shit-done/templates/research-project/PITFALLS.md +200 -0
- package/.claude/get-shit-done/templates/research-project/STACK.md +120 -0
- package/.claude/get-shit-done/templates/research-project/SUMMARY.md +170 -0
- package/.claude/get-shit-done/templates/research.md +552 -0
- package/.claude/get-shit-done/templates/retrospective.md +54 -0
- package/.claude/get-shit-done/templates/roadmap.md +202 -0
- package/.claude/get-shit-done/templates/state.md +176 -0
- package/.claude/get-shit-done/templates/summary-complex.md +59 -0
- package/.claude/get-shit-done/templates/summary-minimal.md +41 -0
- package/.claude/get-shit-done/templates/summary-standard.md +48 -0
- package/.claude/get-shit-done/templates/summary.md +248 -0
- package/.claude/get-shit-done/templates/user-setup.md +311 -0
- package/.claude/get-shit-done/templates/verification-report.md +322 -0
- package/.claude/get-shit-done/workflows/add-phase.md +111 -0
- package/.claude/get-shit-done/workflows/add-tests.md +350 -0
- package/.claude/get-shit-done/workflows/add-todo.md +157 -0
- package/.claude/get-shit-done/workflows/audit-milestone.md +297 -0
- package/.claude/get-shit-done/workflows/check-todos.md +176 -0
- package/.claude/get-shit-done/workflows/cleanup.md +152 -0
- package/.claude/get-shit-done/workflows/complete-milestone.md +763 -0
- package/.claude/get-shit-done/workflows/diagnose-issues.md +219 -0
- package/.claude/get-shit-done/workflows/discovery-phase.md +289 -0
- package/.claude/get-shit-done/workflows/discuss-phase.md +542 -0
- package/.claude/get-shit-done/workflows/execute-phase.md +449 -0
- package/.claude/get-shit-done/workflows/execute-plan.md +448 -0
- package/.claude/get-shit-done/workflows/health.md +156 -0
- package/.claude/get-shit-done/workflows/help.md +489 -0
- package/.claude/get-shit-done/workflows/insert-phase.md +129 -0
- package/.claude/get-shit-done/workflows/list-phase-assumptions.md +178 -0
- package/.claude/get-shit-done/workflows/map-codebase.md +315 -0
- package/.claude/get-shit-done/workflows/new-milestone.md +382 -0
- package/.claude/get-shit-done/workflows/new-project.md +1116 -0
- package/.claude/get-shit-done/workflows/pause-work.md +122 -0
- package/.claude/get-shit-done/workflows/plan-milestone-gaps.md +274 -0
- package/.claude/get-shit-done/workflows/plan-phase.md +569 -0
- package/.claude/get-shit-done/workflows/progress.md +381 -0
- package/.claude/get-shit-done/workflows/quick.md +453 -0
- package/.claude/get-shit-done/workflows/remove-phase.md +154 -0
- package/.claude/get-shit-done/workflows/research-phase.md +73 -0
- package/.claude/get-shit-done/workflows/resume-project.md +306 -0
- package/.claude/get-shit-done/workflows/set-profile.md +80 -0
- package/.claude/get-shit-done/workflows/settings.md +213 -0
- package/.claude/get-shit-done/workflows/transition.md +544 -0
- package/.claude/get-shit-done/workflows/update.md +219 -0
- package/.claude/get-shit-done/workflows/verify-phase.md +242 -0
- package/.claude/get-shit-done/workflows/verify-work.md +569 -0
- package/.claude/gsd-file-manifest.json +144 -0
- package/.claude/hooks/agent_creation_trigger.py +168 -0
- package/.claude/hooks/agent_index_updater.py +255 -0
- package/.claude/hooks/agent_memory_persister.py +203 -0
- package/.claude/hooks/claude_md_agent_sync.py +162 -0
- package/.claude/hooks/claude_md_guard.py +154 -0
- package/.claude/hooks/continuous_save.py +414 -0
- package/.claude/hooks/creation_validator.py +360 -0
- package/.claude/hooks/enforce_dual_location.py +501 -0
- package/.claude/hooks/enforce_plan_mode.py +220 -0
- package/.claude/hooks/gsd-check-update.js +62 -0
- package/.claude/hooks/gsd-context-monitor.js +122 -0
- package/.claude/hooks/gsd-statusline.js +108 -0
- package/.claude/hooks/inbox_age_alert.py +367 -0
- package/.claude/hooks/ledger_updater.py +303 -0
- package/.claude/hooks/memory_hints_injector.py +251 -0
- package/.claude/hooks/memory_updater.py +202 -0
- package/.claude/hooks/notification_system.py +115 -0
- package/.claude/hooks/pending_tracker.py +188 -0
- package/.claude/hooks/pipeline_checkpoint.py +583 -0
- package/.claude/hooks/post_batch_cascading.py +1740 -0
- package/.claude/hooks/post_tool_use.py +120 -0
- package/.claude/hooks/quality_watchdog.py +394 -0
- package/.claude/hooks/ralph_wiggum.py +286 -0
- package/.claude/hooks/session-source-sync.py +223 -0
- package/.claude/hooks/session_autosave_v2.py +1135 -0
- package/.claude/hooks/session_end.py +203 -0
- package/.claude/hooks/session_start.py +939 -0
- package/.claude/hooks/skill_indexer.py +48 -0
- package/.claude/hooks/skill_router.py +358 -0
- package/.claude/hooks/stop_hook_completeness.py +187 -0
- package/.claude/hooks/user_prompt_submit.py +125 -0
- package/.claude/package.json +1 -0
- package/.claude/rules/ANTHROPIC-STANDARDS.md +384 -0
- package/.claude/rules/CLAUDE-LITE.md +201 -0
- package/.claude/rules/RULE-GROUP-1.md +320 -0
- package/.claude/rules/RULE-GROUP-2.md +307 -0
- package/.claude/rules/RULE-GROUP-3.md +248 -0
- package/.claude/rules/RULE-GROUP-4.md +427 -0
- package/.claude/rules/RULE-GROUP-5.md +388 -0
- package/.claude/rules/RULE-GROUP-6.md +387 -0
- package/.claude/rules/RULE-GSD-MANDATORY.md +106 -0
- package/.claude/rules/agent-cognition.md +779 -0
- package/.claude/rules/agent-integrity.md +692 -0
- package/.claude/rules/epistemic-standards.md +333 -0
- package/.claude/rules/logging.md +53 -0
- package/.claude/rules/mcp-governance.md +128 -0
- package/.claude/rules/pipeline.md +60 -0
- package/.claude/rules/state-management.md +93 -0
- package/.claude/scripts/apply-tags.py +77 -0
- package/.claude/scripts/batch-extract-transcriptions.py +132 -0
- package/.claude/scripts/build-complete-index.py +250 -0
- package/.claude/scripts/build-planilha-index.py +170 -0
- package/.claude/scripts/complete-tag-matching.py +250 -0
- package/.claude/scripts/deduplicate-inbox.py +139 -0
- package/.claude/scripts/docx-xml-extractor.py +141 -0
- package/.claude/scripts/extract-docx-text.py +58 -0
- package/.claude/scripts/extract-single-transcription.py +74 -0
- package/.claude/scripts/extract_docx_from_gdrive.py +77 -0
- package/.claude/scripts/jarvis_orchestrator.py +5 -0
- package/.claude/scripts/organized-downloader.py +246 -0
- package/.claude/scripts/planilha-tagger.py +187 -0
- package/.claude/scripts/revert-tags.py +70 -0
- package/.claude/scripts/source-sync.py +265 -0
- package/.claude/scripts/tag-inbox-files.py +276 -0
- package/.claude/scripts/tag-inbox-v2.py +253 -0
- package/.claude/scripts/test-extraction.py +35 -0
- package/.claude/scripts/test-full-extraction.py +74 -0
- package/.claude/scripts/validate_cascading_integrity.py +409 -0
- package/.claude/settings.json +215 -0
- package/.claude/skills/DETECTION-PROTOCOL.md +217 -0
- package/.claude/skills/README.md +240 -0
- package/.claude/skills/SKILL-REGISTRY.md +283 -0
- package/.claude/skills/SKILL-SUGGESTIONS.md +114 -0
- package/.claude/skills/_TEMPLATES/SKILL-WRITER-GUIDE.md +385 -0
- package/.claude/skills/agent-creation/SKILL.md +374 -0
- package/.claude/skills/ask-company/SKILL.md +198 -0
- package/.claude/skills/brainstorming/SKILL.md +72 -0
- package/.claude/skills/chronicler/SKILL.md +146 -0
- package/.claude/skills/chronicler/chronicler_core.py +468 -0
- package/.claude/skills/code-review/SKILL.md +160 -0
- package/.claude/skills/convert-to-company-docs/SKILL.md +68 -0
- package/.claude/skills/convert-to-company-docs/convert.py +532 -0
- package/.claude/skills/dispatching-parallel-agents/SKILL.md +193 -0
- package/.claude/skills/docs-megabrain/SKILL.md +251 -0
- package/.claude/skills/executing-plans/SKILL.md +114 -0
- package/.claude/skills/executor/SKILL.md +161 -0
- package/.claude/skills/fase-2-5-tagging/SKILL.md +182 -0
- package/.claude/skills/feature-dev/SKILL.md +154 -0
- package/.claude/skills/frontend-design/SKILL.md +165 -0
- package/.claude/skills/gdrive-transcription-downloader/SKILL.md +249 -0
- package/.claude/skills/gemini-fallback/SKILL.md +67 -0
- package/.claude/skills/gemini-fallback/gemini_fetch.py +0 -0
- package/.claude/skills/gha/SKILL.md +96 -0
- package/.claude/skills/gha/gha_diagnostic.py +227 -0
- package/.claude/skills/github-workflow/SKILL.md +190 -0
- package/.claude/skills/hookify/SKILL.md +134 -0
- package/.claude/skills/hybrid-source-reading/SKILL.md +265 -0
- package/.claude/skills/jarvis/SKILL.md +546 -0
- package/.claude/skills/jarvis-briefing/SKILL.md +340 -0
- package/.claude/skills/knowledge-extraction/SKILL.md +318 -0
- package/.claude/skills/ler-planilha/SKILL.md +281 -0
- package/.claude/skills/pipeline-jarvis/SKILL.md +430 -0
- package/.claude/skills/plugin-dev/SKILL.md +176 -0
- package/.claude/skills/pr-review-toolkit/SKILL.md +178 -0
- package/.claude/skills/process-company-inbox/SKILL.md +183 -0
- package/.claude/skills/python-megabrain/SKILL.md +323 -0
- package/.claude/skills/resume/SKILL.md +61 -0
- package/.claude/skills/save/SKILL.md +87 -0
- package/.claude/skills/skill-creator-internal/SKILL.md +186 -0
- package/.claude/skills/skill-writer/SKILL.md +153 -0
- package/.claude/skills/skill-writer/examples.md +191 -0
- package/.claude/skills/skill-writer/troubleshooting.md +205 -0
- package/.claude/skills/smart-download-tagger/SKILL.md +148 -0
- package/.claude/skills/source-sync/SKILL.md +240 -0
- package/.claude/skills/sync-docs/SKILL.md +193 -0
- package/.claude/skills/sync-docs/config.json +37 -0
- package/.claude/skills/sync-docs/gdrive_sync.py +358 -0
- package/.claude/skills/sync-docs/reauth.py +71 -0
- package/.claude/skills/using-superpowers/SKILL.md +105 -0
- package/.claude/skills/verification-before-completion/SKILL.md +130 -0
- package/.claude/skills/verify/SKILL.md +154 -0
- package/.claude/skills/verify/verify_runner.py +0 -0
- package/.claude/skills/verify-6-levels/SKILL.md +234 -0
- package/.claude/skills/writing-plans/SKILL.md +184 -0
- package/.claude/templates/BATCH-LOG-TEMPLATE.md +221 -0
- package/.claudeignore +9 -0
- package/.cursor/agents.yaml +44 -0
- package/.cursor/rules/mega-brain.md +39 -0
- package/.gitattributes +19 -0
- package/.github/CODEOWNERS +8 -0
- package/.github/ISSUE_TEMPLATE/agent.md +96 -0
- package/.github/ISSUE_TEMPLATE/bug.md +67 -0
- package/.github/ISSUE_TEMPLATE/feature.md +56 -0
- package/.github/ISSUE_TEMPLATE/pipeline.md +70 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +30 -0
- package/.github/assets/banner.svg +152 -0
- package/.github/assets/logo-dark.svg +79 -0
- package/.github/assets/social-preview.png +0 -0
- package/.github/layer1-allowlist.txt +196 -0
- package/.github/layer2-manifest.txt +42 -0
- package/.github/layer3-manifest.txt +94 -0
- package/.github/workflows/claude-code-pr.yml +198 -0
- package/.github/workflows/claude-code-review.yml +57 -0
- package/.github/workflows/claude.yml +76 -0
- package/.github/workflows/publish-pro.yml +72 -0
- package/.github/workflows/publish.yml +86 -0
- package/.github/workflows/verification.yml +251 -0
- package/.gitignore +244 -0
- package/.gitleaks.toml +118 -0
- package/.windsurf/agents.yaml +44 -0
- package/.windsurf/rules/mega-brain.md +39 -0
- package/CONTRIBUTING.md +62 -0
- package/QUICK-START.md +231 -0
- package/README.md +168 -0
- package/agents/AGENT-INDEX.yaml +107 -0
- package/agents/MASTER-AGENT.md +612 -0
- package/agents/README.md +48 -0
- package/agents/_templates/INDEX.md +741 -0
- package/agents/_templates/TEMPLATE-AGENT-MD-ULTRA-ROBUSTO-V3.md +2399 -0
- package/agents/boardroom/CHECKLIST-MASTER.md +281 -0
- package/agents/boardroom/INTEGRATION-GUIDE.md +406 -0
- package/agents/boardroom/README.md +238 -0
- package/agents/boardroom/config/BOARDROOM-CONFIG.md +186 -0
- package/agents/boardroom/config/TTS-INTEGRATION.md +258 -0
- package/agents/boardroom/config/VOICE-PROFILES.md +624 -0
- package/agents/boardroom/scripts/audio_generator.py +375 -0
- package/agents/boardroom/scripts/audio_generator_edge.py +353 -0
- package/agents/boardroom/scripts/jarvis_boardroom_hook.py +415 -0
- package/agents/boardroom/scripts/notebooklm_generator.py +578 -0
- package/agents/boardroom/templates/EPISODE-TEMPLATE.md +367 -0
- package/agents/boardroom/templates/scene-templates/SCENE-AGENT-DEBATE.md +252 -0
- package/agents/boardroom/templates/scene-templates/SCENE-COUNCIL.md +270 -0
- package/agents/boardroom/templates/scene-templates/SCENE-DNA-CONSULTATION.md +126 -0
- package/agents/boardroom/templates/scene-templates/SCENE-QUESTION.md +174 -0
- package/agents/boardroom/workflows/WORKFLOW-AUDIO-GENERATION.md +421 -0
- package/agents/conclave/CRITIC.md +197 -0
- package/agents/conclave/DEVILS-ADVOCATE.md +274 -0
- package/agents/conclave/README.md +35 -0
- package/agents/conclave/SYNTHESIZER.md +293 -0
- package/agents/conclave/advogado-do-diabo/AGENT.md +502 -0
- package/agents/conclave/advogado-do-diabo/SOUL.md +100 -0
- package/agents/conclave/critico-metodologico/AGENT.md +683 -0
- package/agents/conclave/critico-metodologico/SOUL.md +107 -0
- package/agents/conclave/sintetizador/AGENT.md +571 -0
- package/agents/conclave/sintetizador/SOUL.md +94 -0
- package/agents/constitution/BASE-CONSTITUTION.md +254 -0
- package/agents/persona-registry.yaml +300 -0
- package/agents/sua-empresa/.gitkeep +0 -0
- package/agents/sua-empresa/README.md +44 -0
- package/agents/sua-empresa/_example/jds/EXAMPLE-JD.md +42 -0
- package/agents/sua-empresa/_example/org/EXAMPLE-ORG.md +32 -0
- package/agents/sua-empresa/_example/roles/EXAMPLE-ROLE.md +38 -0
- package/artifacts/README.md +11 -0
- package/artifacts/canonical/.gitkeep +0 -0
- package/artifacts/chunks/.gitkeep +0 -0
- package/artifacts/insights/.gitkeep +0 -0
- package/artifacts/narratives/.gitkeep +0 -0
- package/bin/cli.js +2 -0
- package/bin/lib/ascii-art.js +202 -0
- package/bin/lib/feature-gate.js +46 -0
- package/bin/lib/installer.js +593 -0
- package/bin/lib/license.js +59 -0
- package/bin/lib/pro-commands.js +75 -0
- package/bin/lib/setup-wizard.js +547 -0
- package/bin/lib/validate-email.js +113 -0
- package/bin/mega-brain.js +136 -0
- package/bin/pre-publish-gate.js +229 -0
- package/bin/push.js +1056 -0
- package/bin/templates/env.example +27 -0
- package/bin/utils/pro-detector.js +50 -0
- package/bin/validate-package.js +190 -0
- package/core/__init__.py +2 -0
- package/core/glossary/INDEX.md +63 -0
- package/core/glossary/digital.md +243 -0
- package/core/glossary/finance.md +49 -0
- package/core/glossary/marketing.md +69 -0
- package/core/glossary/operations.md +50 -0
- package/core/glossary/sales.md +690 -0
- package/core/intelligence/__init__.py +41 -0
- package/core/intelligence/agent_trigger.py +468 -0
- package/core/intelligence/audit_layers.py +491 -0
- package/core/intelligence/autonomous_processor.py +796 -0
- package/core/intelligence/bootstrap_registry.py +550 -0
- package/core/intelligence/business_model_detector.py +476 -0
- package/core/intelligence/dossier_trigger.py +336 -0
- package/core/intelligence/entity_normalizer.py +565 -0
- package/core/intelligence/org_chain_detector.py +411 -0
- package/core/intelligence/review_dashboard.py +338 -0
- package/core/intelligence/role_detector.py +855 -0
- package/core/intelligence/session_autosave.py +46 -0
- package/core/intelligence/skill_generator.py +601 -0
- package/core/intelligence/sow_generator.py +711 -0
- package/core/intelligence/sync_package_files.py +504 -0
- package/core/intelligence/task_orchestrator.py +780 -0
- package/core/intelligence/theme_analyzer.py +562 -0
- package/core/intelligence/tool_discovery.py +432 -0
- package/core/intelligence/validate_json_integrity.py +106 -0
- package/core/intelligence/validate_layers.py +310 -0
- package/core/intelligence/verify_classifications.py +94 -0
- package/core/intelligence/viability_scorer.py +592 -0
- package/core/jarvis/02-JARVIS-SOUL.md +390 -0
- package/core/jarvis/03-JARVIS-DNA.yaml +312 -0
- package/core/jarvis/AGENT.md +191 -0
- package/core/jarvis/agent-creator/AGENT.md +199 -0
- package/core/jarvis/agent-creator/SOUL.md +82 -0
- package/core/jarvis/agent-creator/tasks/create-agent.md +133 -0
- package/core/jarvis/agent-creator/tasks/sync-agents.md +100 -0
- package/core/jarvis/agent-creator/workflows/wf-create-agent.yaml +110 -0
- package/core/jarvis/agent-creator/workflows/wf-pipeline-trigger.yaml +111 -0
- package/core/jarvis/autonomous/benchmark/AGENT.md +347 -0
- package/core/jarvis/autonomous/benchmark/SOUL.md +78 -0
- package/core/jarvis/autonomous/critic/AGENT.md +324 -0
- package/core/jarvis/autonomous/critic/SOUL.md +78 -0
- package/core/jarvis/autonomous/evolver/AGENT.md +294 -0
- package/core/jarvis/autonomous/evolver/SOUL.md +85 -0
- package/core/jarvis/autonomous/playbook-generator/AGENT.md +399 -0
- package/core/jarvis/autonomous/playbook-generator/SOUL.md +80 -0
- package/core/patterns/_ROLE_PATTERNS.yaml +547 -0
- package/core/patterns/quality_gates.yaml +259 -0
- package/core/patterns/trigger_config.yaml +193 -0
- package/core/schemas/SCHEMA-INDEX.md +94 -0
- package/core/schemas/canonical-map.schema.json +98 -0
- package/core/schemas/chunks-state.schema.json +131 -0
- package/core/schemas/decisions-registry.schema.json +120 -0
- package/core/schemas/file-registry.schema.json +69 -0
- package/core/schemas/insights-state.schema.json +111 -0
- package/core/schemas/narratives-state.schema.json +150 -0
- package/core/tasks/CHANGELOG.md +55 -0
- package/core/tasks/TASK-REGISTRY.md +113 -0
- package/core/tasks/_templates/task-tmpl.md +105 -0
- package/core/tasks/analyze-themes.md +84 -0
- package/core/tasks/detect-role.md +82 -0
- package/core/tasks/extract-dna.md +114 -0
- package/core/tasks/normalize-entities.md +82 -0
- package/core/tasks/process-batch.md +111 -0
- package/core/tasks/validate-cascade.md +105 -0
- package/core/templates/README.md +27 -0
- package/core/templates/agents/dna-config-template.yaml +181 -0
- package/core/templates/agents/enrichment-protocol.md +408 -0
- package/core/templates/agents/memory-template.md +567 -0
- package/core/templates/agents/reasoning-model.md +331 -0
- package/core/templates/agents/soul-template.md +416 -0
- package/core/templates/agents/template-evolution.md +544 -0
- package/core/templates/debates/CONCLAVE-LOG-TEMPLATE-v2.md +309 -0
- package/core/templates/debates/conclave-log-template.md +309 -0
- package/core/templates/debates/conclave-protocol.md +518 -0
- package/core/templates/debates/debate-dynamics-config.yaml +322 -0
- package/core/templates/debates/debate-dynamics.md +613 -0
- package/core/templates/debates/debate-protocol.md +323 -0
- package/core/templates/logs/LOG-TEMPLATES.md +1068 -0
- package/core/templates/logs/batch-visual-template.md +841 -0
- package/core/templates/logs/log-structure.md +65 -0
- package/core/templates/logs/visual-diff.md +159 -0
- package/core/templates/phases/dossier-compilation.md +790 -0
- package/core/templates/phases/narrative-metabolism.md +292 -0
- package/core/templates/phases/narrative-synthesis.md +278 -0
- package/core/templates/phases/phase4-checkpoint.md +146 -0
- package/core/templates/phases/prompt-1.1-chunking.md +154 -0
- package/core/templates/phases/prompt-1.2-entity-resolution.md +186 -0
- package/core/templates/phases/prompt-2.1-dna-tags.md +208 -0
- package/core/templates/phases/prompt-2.1-insight-extraction.md +191 -0
- package/core/templates/phases/prompt-3.1-narrative.md +331 -0
- package/core/templates/phases/sources-compilation.md +340 -0
- package/core/workflows/PIPELINE-JARVIS-DOCS.md +606 -0
- package/core/workflows/wf-conclave.yaml +139 -0
- package/core/workflows/wf-extract-dna.yaml +158 -0
- package/core/workflows/wf-ingest.yaml +88 -0
- package/core/workflows/wf-pipeline-full.yaml +138 -0
- package/docs/API-KEYS-GUIDE.md +372 -0
- package/docs/INTEGRATION-POINTS.md +501 -0
- package/docs/LAYERS.md +403 -0
- package/docs/PLAN-MODE-PROTOCOL.md +388 -0
- package/docs/RESTORE-AND-INDEX.md +203 -0
- package/docs/TAG-RESOLVER-IMPLEMENTATION.md +597 -0
- package/docs/conselho.md +337 -0
- package/docs/context7-readme.md +28 -0
- package/docs/jarvis-logging-protocol.md +380 -0
- package/docs/pipeline-completa-v4.md +1315 -0
- package/docs/prompts/meta_agente_mapeamento_processos.md +297 -0
- package/docs/quick-start.md +197 -0
- package/docs/readme-ralph-cascateamento.md +207 -0
- package/docs/template-master.md +727 -0
- package/docs/templates/phase5/IMPLEMENTATION-GUIDE.md +355 -0
- package/docs/templates/phase5/MOGA-BRAIN-PHASE5-TEMPLATES.md +1284 -0
- package/docs/templates/phase5/README.md +165 -0
- package/docs/workflow-continuous-claude.md +2232 -0
- package/inbox/.gitkeep +0 -0
- package/inbox/README.md +15 -0
- package/knowledge/NAVIGATION-MAP.json +292 -0
- package/knowledge/README.md +11 -0
- package/knowledge/dna/.gitkeep +0 -0
- package/knowledge/dossiers/persons/.gitkeep +0 -0
- package/knowledge/dossiers/system/.gitkeep +0 -0
- package/knowledge/dossiers/themes/.gitkeep +0 -0
- package/knowledge/playbooks/.gitkeep +0 -0
- package/knowledge/sources/.gitkeep +0 -0
- package/logs/.gitkeep +0 -0
- package/logs/README.md +11 -0
- package/package.json +180 -0
- package/requirements.txt +4 -0
|
@@ -0,0 +1,501 @@
|
|
|
1
|
+
# INTEGRATION-POINTS.md
|
|
2
|
+
# Instruções para Integrar TAG-RESOLVER aos Scripts Existentes
|
|
3
|
+
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## CONTEXTO
|
|
7
|
+
|
|
8
|
+
Com o `TAG-RESOLVER.json` criado, precisamos conectá-lo aos scripts existentes para que a rastreabilidade funcione end-to-end:
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
PIPELINE ATUAL:
|
|
12
|
+
Download → Planilha → Renomear → [❌ LACUNA] → Batch → Cascateamento
|
|
13
|
+
|
|
14
|
+
PIPELINE CORRIGIDA:
|
|
15
|
+
Download → Planilha → Renomear → [TAG-RESOLVER] → Batch → Cascateamento
|
|
16
|
+
↓
|
|
17
|
+
Agent pode resolver TAG → Path
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## PARTE 1: IDENTIFICAR SCRIPTS A ATUALIZAR
|
|
23
|
+
|
|
24
|
+
### 1.1 Scripts que Usam TAGs (Precisam do Resolver)
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# From the project root
|
|
28
|
+
|
|
29
|
+
# Encontrar scripts que referenciam TAGs ou PLANILHA-INDEX
|
|
30
|
+
grep -r "PLANILHA-INDEX" scripts/ --include="*.py"
|
|
31
|
+
grep -r "tag" scripts/ --include="*.py" | grep -v "__pycache__"
|
|
32
|
+
grep -r "\[JM-" scripts/ --include="*.py"
|
|
33
|
+
grep -r "\[JH-" scripts/ --include="*.py"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 1.2 Scripts Críticos Identificados
|
|
37
|
+
|
|
38
|
+
| Script | Função | Precisa de TAG-RESOLVER? |
|
|
39
|
+
|--------|--------|--------------------------|
|
|
40
|
+
| `source-sync.py` | Sincroniza fontes | ✅ Sim - resolve TAGs para paths |
|
|
41
|
+
| `post_batch_cascading.py` | Cascateia batches | ✅ Sim - localiza arquivos por TAG |
|
|
42
|
+
| `batch-generator.py` | Gera batches | ✅ Sim - inclui paths nos batches |
|
|
43
|
+
| `create-tag-resolver.py` | Cria o resolver | ❌ Não - é o gerador |
|
|
44
|
+
| `dedup-*.py` | Deduplicação | ⚠️ Talvez - se usar TAGs |
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## PARTE 2: ATUALIZAR source-sync.py
|
|
49
|
+
|
|
50
|
+
### 2.1 Adicionar Import do Resolver
|
|
51
|
+
|
|
52
|
+
No topo do arquivo, após outros imports:
|
|
53
|
+
|
|
54
|
+
```python
|
|
55
|
+
# Adicionar após os imports existentes
|
|
56
|
+
import sys
|
|
57
|
+
sys.path.insert(0, str(Path(__file__).parent / "lib"))
|
|
58
|
+
|
|
59
|
+
from tag_resolver import resolve_tag, get_entry, tag_exists
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 2.2 Criar Função Helper
|
|
63
|
+
|
|
64
|
+
Adicionar função para resolver TAGs em operações de sync:
|
|
65
|
+
|
|
66
|
+
```python
|
|
67
|
+
def resolve_tag_to_path(tag: str) -> Path | None:
|
|
68
|
+
"""
|
|
69
|
+
Resolve TAG para Path absoluto do arquivo.
|
|
70
|
+
|
|
71
|
+
Args:
|
|
72
|
+
tag: TAG no formato "JM-0114" ou "[JM-0114]"
|
|
73
|
+
|
|
74
|
+
Returns:
|
|
75
|
+
Path absoluto do arquivo ou None se não encontrado
|
|
76
|
+
"""
|
|
77
|
+
relative_path = resolve_tag(tag)
|
|
78
|
+
if relative_path:
|
|
79
|
+
return MEGA_BRAIN_ROOT / relative_path
|
|
80
|
+
return None
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 2.3 Atualizar Lógica de Sync
|
|
84
|
+
|
|
85
|
+
Onde o script precisa encontrar um arquivo por TAG:
|
|
86
|
+
|
|
87
|
+
```python
|
|
88
|
+
# ANTES (problemático - não encontra arquivo):
|
|
89
|
+
def process_item(tag):
|
|
90
|
+
# Código antigo que não resolvia TAG
|
|
91
|
+
pass
|
|
92
|
+
|
|
93
|
+
# DEPOIS (usa resolver):
|
|
94
|
+
def process_item(tag):
|
|
95
|
+
file_path = resolve_tag_to_path(tag)
|
|
96
|
+
if file_path is None:
|
|
97
|
+
logger.warning(f"TAG não encontrada no resolver: {tag}")
|
|
98
|
+
return None
|
|
99
|
+
|
|
100
|
+
if not file_path.exists():
|
|
101
|
+
logger.error(f"Arquivo não existe: {file_path}")
|
|
102
|
+
return None
|
|
103
|
+
|
|
104
|
+
# Processar arquivo...
|
|
105
|
+
return process_file(file_path)
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## PARTE 3: ATUALIZAR post_batch_cascading.py
|
|
111
|
+
|
|
112
|
+
### 3.1 Adicionar Import
|
|
113
|
+
|
|
114
|
+
```python
|
|
115
|
+
import sys
|
|
116
|
+
sys.path.insert(0, str(Path(__file__).parent / "lib"))
|
|
117
|
+
|
|
118
|
+
from tag_resolver import resolve_tag, get_entry, validate_tags
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### 3.2 Adicionar Validação de TAGs do Batch
|
|
122
|
+
|
|
123
|
+
```python
|
|
124
|
+
def validate_batch_tags(batch_data: dict) -> dict:
|
|
125
|
+
"""
|
|
126
|
+
Valida que todas as TAGs do batch existem no resolver.
|
|
127
|
+
|
|
128
|
+
Returns:
|
|
129
|
+
Dict com valid_tags, invalid_tags, warning_count
|
|
130
|
+
"""
|
|
131
|
+
tags = extract_tags_from_batch(batch_data)
|
|
132
|
+
result = validate_tags(tags)
|
|
133
|
+
|
|
134
|
+
if result["invalid"]:
|
|
135
|
+
logger.warning(f"TAGs não encontradas no resolver: {result['invalid']}")
|
|
136
|
+
|
|
137
|
+
return {
|
|
138
|
+
"valid_tags": result["valid"],
|
|
139
|
+
"invalid_tags": result["invalid"],
|
|
140
|
+
"warning_count": len(result["invalid"])
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### 3.3 Usar Resolver para Localizar Arquivos
|
|
145
|
+
|
|
146
|
+
```python
|
|
147
|
+
def get_batch_files(batch_id: str) -> list:
|
|
148
|
+
"""
|
|
149
|
+
Retorna lista de arquivos do batch com paths resolvidos.
|
|
150
|
+
"""
|
|
151
|
+
batch_data = load_batch(batch_id)
|
|
152
|
+
tags = extract_tags_from_batch(batch_data)
|
|
153
|
+
|
|
154
|
+
files = []
|
|
155
|
+
for tag in tags:
|
|
156
|
+
entry = get_entry(tag)
|
|
157
|
+
if entry:
|
|
158
|
+
files.append({
|
|
159
|
+
"tag": tag,
|
|
160
|
+
"path": entry["path"],
|
|
161
|
+
"source": entry["source"],
|
|
162
|
+
"original_name": entry.get("original_name")
|
|
163
|
+
})
|
|
164
|
+
else:
|
|
165
|
+
files.append({
|
|
166
|
+
"tag": tag,
|
|
167
|
+
"path": None,
|
|
168
|
+
"error": "TAG not in resolver"
|
|
169
|
+
})
|
|
170
|
+
|
|
171
|
+
return files
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## PARTE 4: ATUALIZAR TEMPLATE DE BATCH
|
|
177
|
+
|
|
178
|
+
### 4.1 Incluir Paths no Batch
|
|
179
|
+
|
|
180
|
+
Quando um batch é gerado, incluir path junto com TAG:
|
|
181
|
+
|
|
182
|
+
```markdown
|
|
183
|
+
## ARQUIVOS PROCESSADOS
|
|
184
|
+
|
|
185
|
+
| TAG | Path | Status |
|
|
186
|
+
|-----|------|--------|
|
|
187
|
+
| [JM-0114] | inbox/JEREMY MINER/... | ✅ |
|
|
188
|
+
| [JH-ST-0002] | inbox/JEREMY HAYNES/SALES-TRAINING/... | ✅ |
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### 4.2 Script para Enriquecer Batches Existentes
|
|
192
|
+
|
|
193
|
+
```python
|
|
194
|
+
#!/usr/bin/env python3
|
|
195
|
+
"""
|
|
196
|
+
Enriquece batches existentes com paths resolvidos
|
|
197
|
+
"""
|
|
198
|
+
|
|
199
|
+
import os
|
|
200
|
+
import re
|
|
201
|
+
import json
|
|
202
|
+
from pathlib import Path
|
|
203
|
+
|
|
204
|
+
sys.path.insert(0, str(Path(__file__).parent / "lib"))
|
|
205
|
+
from tag_resolver import resolve_tag
|
|
206
|
+
|
|
207
|
+
BATCHES_DIR = Path("logs/batches")
|
|
208
|
+
|
|
209
|
+
TAG_PATTERN = re.compile(r'\[([A-Z0-9]+-[A-Z]*-?\d+)\]')
|
|
210
|
+
|
|
211
|
+
def enrich_batch(batch_path: Path):
|
|
212
|
+
"""Adiciona paths às TAGs no batch"""
|
|
213
|
+
|
|
214
|
+
content = batch_path.read_text()
|
|
215
|
+
|
|
216
|
+
# Encontrar todas as TAGs
|
|
217
|
+
tags = TAG_PATTERN.findall(content)
|
|
218
|
+
|
|
219
|
+
# Criar seção de resolução
|
|
220
|
+
resolution_section = "\n\n---\n\n### TAG Resolution (Auto-generated)\n\n"
|
|
221
|
+
resolution_section += "| TAG | Resolved Path |\n"
|
|
222
|
+
resolution_section += "|-----|---------------|\n"
|
|
223
|
+
|
|
224
|
+
for tag in set(tags):
|
|
225
|
+
path = resolve_tag(tag)
|
|
226
|
+
if path:
|
|
227
|
+
resolution_section += f"| [{tag}] | `{path}` |\n"
|
|
228
|
+
else:
|
|
229
|
+
resolution_section += f"| [{tag}] | ❌ NOT FOUND |\n"
|
|
230
|
+
|
|
231
|
+
# Verificar se já tem seção de resolução
|
|
232
|
+
if "### TAG Resolution" not in content:
|
|
233
|
+
# Adicionar antes da seção de Cascateamento se existir
|
|
234
|
+
if "### ✅ Cascateamento Executado" in content:
|
|
235
|
+
content = content.replace(
|
|
236
|
+
"### ✅ Cascateamento Executado",
|
|
237
|
+
resolution_section + "\n### ✅ Cascateamento Executado"
|
|
238
|
+
)
|
|
239
|
+
else:
|
|
240
|
+
content += resolution_section
|
|
241
|
+
|
|
242
|
+
batch_path.write_text(content)
|
|
243
|
+
return True
|
|
244
|
+
|
|
245
|
+
return False
|
|
246
|
+
|
|
247
|
+
# Processar todos os batches
|
|
248
|
+
for batch_file in BATCHES_DIR.glob("BATCH-*.md"):
|
|
249
|
+
if enrich_batch(batch_file):
|
|
250
|
+
print(f"✅ Enriched: {batch_file.name}")
|
|
251
|
+
else:
|
|
252
|
+
print(f"⏭️ Already enriched: {batch_file.name}")
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## PARTE 5: CONECTAR À PIPELINE DE DOWNLOAD
|
|
258
|
+
|
|
259
|
+
### 5.1 Hook Pós-Download
|
|
260
|
+
|
|
261
|
+
Criar `scripts/hooks/post-download.py`:
|
|
262
|
+
|
|
263
|
+
```python
|
|
264
|
+
#!/usr/bin/env python3
|
|
265
|
+
"""
|
|
266
|
+
Hook executado após download de novos arquivos.
|
|
267
|
+
Atualiza TAG-RESOLVER.json automaticamente.
|
|
268
|
+
"""
|
|
269
|
+
|
|
270
|
+
import subprocess
|
|
271
|
+
from pathlib import Path
|
|
272
|
+
|
|
273
|
+
SCRIPTS_DIR = Path(__file__).parent.parent
|
|
274
|
+
|
|
275
|
+
def run_post_download():
|
|
276
|
+
"""Regenera TAG-RESOLVER após novos downloads"""
|
|
277
|
+
|
|
278
|
+
print("🔄 Atualizando TAG-RESOLVER.json...")
|
|
279
|
+
|
|
280
|
+
result = subprocess.run(
|
|
281
|
+
["python3", str(SCRIPTS_DIR / "create-tag-resolver.py")],
|
|
282
|
+
capture_output=True,
|
|
283
|
+
text=True
|
|
284
|
+
)
|
|
285
|
+
|
|
286
|
+
if result.returncode == 0:
|
|
287
|
+
print("✅ TAG-RESOLVER.json atualizado")
|
|
288
|
+
else:
|
|
289
|
+
print(f"❌ Erro: {result.stderr}")
|
|
290
|
+
|
|
291
|
+
return result.returncode
|
|
292
|
+
|
|
293
|
+
if __name__ == "__main__":
|
|
294
|
+
exit(run_post_download())
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### 5.2 Hook Pós-Renomeação
|
|
298
|
+
|
|
299
|
+
Criar `scripts/hooks/post-rename.py`:
|
|
300
|
+
|
|
301
|
+
```python
|
|
302
|
+
#!/usr/bin/env python3
|
|
303
|
+
"""
|
|
304
|
+
Hook executado após renomear arquivos com TAGs.
|
|
305
|
+
Atualiza TAG-RESOLVER.json e valida integridade.
|
|
306
|
+
"""
|
|
307
|
+
|
|
308
|
+
import subprocess
|
|
309
|
+
import json
|
|
310
|
+
from pathlib import Path
|
|
311
|
+
|
|
312
|
+
SCRIPTS_DIR = Path(__file__).parent.parent
|
|
313
|
+
MEGA_BRAIN = SCRIPTS_DIR.parent
|
|
314
|
+
|
|
315
|
+
def run_post_rename():
|
|
316
|
+
"""Regenera e valida TAG-RESOLVER após renomeação"""
|
|
317
|
+
|
|
318
|
+
# 1. Regenerar resolver
|
|
319
|
+
print("🔄 Regenerando TAG-RESOLVER.json...")
|
|
320
|
+
subprocess.run(
|
|
321
|
+
["python3", str(SCRIPTS_DIR / "create-tag-resolver.py")],
|
|
322
|
+
check=True
|
|
323
|
+
)
|
|
324
|
+
|
|
325
|
+
# 2. Carregar e validar
|
|
326
|
+
resolver_path = MEGA_BRAIN / "knowledge" / "TAG-RESOLVER.json"
|
|
327
|
+
with open(resolver_path) as f:
|
|
328
|
+
resolver = json.load(f)
|
|
329
|
+
|
|
330
|
+
stats = resolver["stats"]
|
|
331
|
+
|
|
332
|
+
print(f"\n📊 Estatísticas:")
|
|
333
|
+
print(f" Total TAGs: {stats['files_with_tag']}")
|
|
334
|
+
print(f" Por fonte: {json.dumps(stats['by_source'], indent=2)}")
|
|
335
|
+
|
|
336
|
+
# 3. Alertar sobre problemas
|
|
337
|
+
if stats["duplicates_found"] > 0:
|
|
338
|
+
print(f"\n⚠️ ALERTA: {stats['duplicates_found']} TAGs duplicadas!")
|
|
339
|
+
for dup in resolver["duplicates"][:3]:
|
|
340
|
+
print(f" - {dup['tag']}")
|
|
341
|
+
|
|
342
|
+
if stats["orphan_tags"] > 0:
|
|
343
|
+
print(f"\n⚠️ ALERTA: {stats['orphan_tags']} TAGs órfãs (na planilha sem arquivo)")
|
|
344
|
+
|
|
345
|
+
print("\n✅ TAG-RESOLVER atualizado e validado")
|
|
346
|
+
return 0
|
|
347
|
+
|
|
348
|
+
if __name__ == "__main__":
|
|
349
|
+
exit(run_post_rename())
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
## PARTE 6: INTEGRAR COM AGENTES
|
|
355
|
+
|
|
356
|
+
### 6.1 Atualizar AGENT.md Template
|
|
357
|
+
|
|
358
|
+
Adicionar na seção KNOWLEDGE SOURCES de cada agente:
|
|
359
|
+
|
|
360
|
+
```markdown
|
|
361
|
+
## KNOWLEDGE SOURCES
|
|
362
|
+
|
|
363
|
+
### TAG Resolution
|
|
364
|
+
- **Primary**: `knowledge/TAG-RESOLVER.json`
|
|
365
|
+
- **Fallback**: Scan `inbox/` se resolver não disponível
|
|
366
|
+
- **Usage**: `resolve_tag("JM-0114")` → retorna path do arquivo
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
### 6.2 Adicionar ao DNA-CONFIG dos Agentes
|
|
370
|
+
|
|
371
|
+
```yaml
|
|
372
|
+
# Em agents/cargo/[ROLE]/DNA-CONFIG.yaml
|
|
373
|
+
|
|
374
|
+
knowledge_sources:
|
|
375
|
+
tag_resolver:
|
|
376
|
+
path: "knowledge/TAG-RESOLVER.json"
|
|
377
|
+
type: "index"
|
|
378
|
+
purpose: "Resolve TAG para path de arquivo"
|
|
379
|
+
usage: |
|
|
380
|
+
import from lib.tag_resolver:
|
|
381
|
+
- resolve_tag(tag) -> path
|
|
382
|
+
- get_entry(tag) -> full entry
|
|
383
|
+
- validate_tags(tags) -> valid/invalid
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
## PARTE 7: VALIDAÇÃO FINAL
|
|
389
|
+
|
|
390
|
+
### 7.1 Checklist de Integração
|
|
391
|
+
|
|
392
|
+
```bash
|
|
393
|
+
# From the project root
|
|
394
|
+
|
|
395
|
+
# 1. TAG-RESOLVER existe e é válido
|
|
396
|
+
echo "=== 1. TAG-RESOLVER ==="
|
|
397
|
+
test -f "knowledge/TAG-RESOLVER.json" && echo "✅ Existe" || echo "❌ Não existe"
|
|
398
|
+
|
|
399
|
+
# 2. Módulo tag_resolver.py instalado
|
|
400
|
+
echo "=== 2. Módulo Python ==="
|
|
401
|
+
test -f "scripts/lib/tag_resolver.py" && echo "✅ Existe" || echo "❌ Não existe"
|
|
402
|
+
|
|
403
|
+
# 3. Testar import do módulo
|
|
404
|
+
echo "=== 3. Import Test ==="
|
|
405
|
+
python3 -c "
|
|
406
|
+
import sys
|
|
407
|
+
sys.path.insert(0, 'scripts/lib')
|
|
408
|
+
from tag_resolver import resolve_tag, get_stats
|
|
409
|
+
print(f'✅ Import OK - {get_stats()[\"files_with_tag\"]} TAGs disponíveis')
|
|
410
|
+
" 2>&1 || echo "❌ Import falhou"
|
|
411
|
+
|
|
412
|
+
# 4. Testar resolução
|
|
413
|
+
echo "=== 4. Resolution Test ==="
|
|
414
|
+
python3 -c "
|
|
415
|
+
import sys
|
|
416
|
+
sys.path.insert(0, 'scripts/lib')
|
|
417
|
+
from tag_resolver import resolve_tag
|
|
418
|
+
path = resolve_tag('JM-0114')
|
|
419
|
+
if path:
|
|
420
|
+
print(f'✅ JM-0114 → {path}')
|
|
421
|
+
else:
|
|
422
|
+
print('⚠️ JM-0114 não encontrada (esperado se ainda não restaurou arquivos)')
|
|
423
|
+
"
|
|
424
|
+
|
|
425
|
+
# 5. Hooks instalados
|
|
426
|
+
echo "=== 5. Hooks ==="
|
|
427
|
+
test -f "scripts/hooks/post-download.py" && echo "✅ post-download.py" || echo "❌ post-download.py"
|
|
428
|
+
test -f "scripts/hooks/post-rename.py" && echo "✅ post-rename.py" || echo "❌ post-rename.py"
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
### 7.2 Resultado Esperado
|
|
432
|
+
|
|
433
|
+
```
|
|
434
|
+
╔══════════════════════════════════════════════════════════════════════════════╗
|
|
435
|
+
║ INTEGRATION VALIDATION ║
|
|
436
|
+
╠══════════════════════════════════════════════════════════════════════════════╣
|
|
437
|
+
║ ║
|
|
438
|
+
║ [✓] TAG-RESOLVER.json criado em knowledge/ ║
|
|
439
|
+
║ [✓] Módulo tag_resolver.py em scripts/lib/ ║
|
|
440
|
+
║ [✓] Import funcionando ║
|
|
441
|
+
║ [✓] Resolução TAG → Path funcionando ║
|
|
442
|
+
║ [✓] Hooks de pipeline instalados ║
|
|
443
|
+
║ [✓] Agentes podem usar resolve_tag() ║
|
|
444
|
+
║ ║
|
|
445
|
+
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
---
|
|
449
|
+
|
|
450
|
+
## DIAGRAMA DE INTEGRAÇÃO FINAL
|
|
451
|
+
|
|
452
|
+
```
|
|
453
|
+
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
454
|
+
│ MEGA BRAIN - TAG SYSTEM │
|
|
455
|
+
├─────────────────────────────────────────────────────────────────────────────┤
|
|
456
|
+
│ │
|
|
457
|
+
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
|
458
|
+
│ │ DOWNLOAD │───▶│ RENOMEAR │───▶│ inbox/ │ │
|
|
459
|
+
│ │ (Fonte) │ │ [TAG] name │ │ Arquivos │ │
|
|
460
|
+
│ └──────────────┘ └──────────────┘ └──────┬───────┘ │
|
|
461
|
+
│ │ │
|
|
462
|
+
│ ┌───────────▼───────────┐ │
|
|
463
|
+
│ │ create-tag-resolver │ │
|
|
464
|
+
│ │ .py │ │
|
|
465
|
+
│ └───────────┬───────────┘ │
|
|
466
|
+
│ │ │
|
|
467
|
+
│ ┌───────────▼───────────┐ │
|
|
468
|
+
│ │ TAG-RESOLVER.json │ │
|
|
469
|
+
│ │ tag_to_path: {} │ │
|
|
470
|
+
│ │ path_to_tag: {} │ │
|
|
471
|
+
│ └───────────┬───────────┘ │
|
|
472
|
+
│ │ │
|
|
473
|
+
│ ┌────────────────────────────────────────┼───────────────────┐ │
|
|
474
|
+
│ │ │ │ │ │
|
|
475
|
+
│ ▼ ▼ ▼ ▼ │
|
|
476
|
+
│ ┌─────────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
|
|
477
|
+
│ │ BATCHES │ │ AGENTS │ │ PLAYBOOKS │ │ DOSSIERS │ │
|
|
478
|
+
│ │ resolve_tag │ │ get_entry │ │ validate │ │ resolve │ │
|
|
479
|
+
│ └─────────────┘ └───────────┘ └───────────┘ └───────────┘ │
|
|
480
|
+
│ │
|
|
481
|
+
│ ═══════════════════════════════════════════════════════════════════════ │
|
|
482
|
+
│ RASTREABILIDADE COMPLETA │
|
|
483
|
+
│ Agent → DNA → Batch → TAG → TAG-RESOLVER → Path → Arquivo │
|
|
484
|
+
│ ═══════════════════════════════════════════════════════════════════════ │
|
|
485
|
+
│ │
|
|
486
|
+
└─────────────────────────────────────────────────────────────────────────────┘
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
---
|
|
490
|
+
|
|
491
|
+
## ORDEM DE EXECUÇÃO
|
|
492
|
+
|
|
493
|
+
1. **Primeiro**: Execute `RESTORE-AND-INDEX.md` para restaurar arquivos via git
|
|
494
|
+
2. **Segundo**: Execute `TAG-RESOLVER-IMPLEMENTATION.md` para criar o resolver
|
|
495
|
+
3. **Terceiro**: Execute este arquivo para integrar aos scripts existentes
|
|
496
|
+
|
|
497
|
+
Após completar os 3 arquivos, o sistema terá rastreabilidade completa:
|
|
498
|
+
- Batches referenciam TAGs
|
|
499
|
+
- TAGs resolvem para paths
|
|
500
|
+
- Agentes localizam arquivos originais
|
|
501
|
+
- Pipeline mantém consistência automaticamente
|