sinapse-ai 1.13.0 → 1.15.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/.claude/rules/agent-memory-imports.md +2 -0
- package/.sinapse-ai/data/entity-registry.yaml +61 -405
- package/.sinapse-ai/development/agents/analyst/MEMORY.md +19 -0
- package/.sinapse-ai/development/agents/architect/MEMORY.md +17 -0
- package/.sinapse-ai/development/agents/data-engineer/MEMORY.md +17 -0
- package/.sinapse-ai/development/agents/developer/MEMORY.md +17 -0
- package/.sinapse-ai/development/agents/devops/MEMORY.md +17 -0
- package/.sinapse-ai/development/agents/product-lead/MEMORY.md +17 -0
- package/.sinapse-ai/development/agents/project-lead/MEMORY.md +17 -0
- package/.sinapse-ai/development/agents/quality-gate/MEMORY.md +17 -0
- package/.sinapse-ai/development/agents/snps-orqx.md +15 -0
- package/.sinapse-ai/development/agents/sprint-lead/MEMORY.md +17 -0
- package/.sinapse-ai/development/agents/squad-creator.md +15 -0
- package/.sinapse-ai/development/agents/ux/MEMORY.md +21 -0
- package/.sinapse-ai/development/templates/chrome-brain/rules/chrome-brain-autoload.md +4 -0
- package/.sinapse-ai/development/templates/chrome-brain/scripts/chrome-brain-log.cjs +78 -0
- package/.sinapse-ai/development/templates/chrome-brain/scripts/chrome-ensure.cjs +108 -0
- package/.sinapse-ai/install-manifest.yaml +26 -14
- package/.sinapse-ai/product/templates/statusline/agent-badges.json +862 -0
- package/.sinapse-ai/product/templates/statusline/statusline-script.js +36 -2
- package/.sinapse-ai/product/templates/statusline/track-agent.cjs +119 -9
- package/CHANGELOG.md +31 -22
- package/bin/commands/install.js +22 -44
- package/bin/lib/header.js +14 -10
- package/bin/lib/setup-statusline.js +12 -1
- package/bin/modules/chrome-brain-installer.js +124 -199
- package/package.json +1 -1
- package/scripts/gen-agent-badges.js +105 -0
- package/squads/claude-code-mastery/agents/claude-mastery-chief.md +14 -0
- package/squads/claude-code-mastery/agents/config-engineer.md +15 -0
- package/squads/claude-code-mastery/agents/hooks-architect.md +15 -0
- package/squads/claude-code-mastery/agents/mcp-integrator.md +15 -0
- package/squads/claude-code-mastery/agents/project-integrator.md +15 -0
- package/squads/claude-code-mastery/agents/roadmap-sentinel.md +15 -0
- package/squads/claude-code-mastery/agents/skill-craftsman.md +15 -0
- package/squads/claude-code-mastery/agents/swarm-orqx.md +15 -0
- package/squads/squad-animations/agents/animation-interpreter.md +15 -0
- package/squads/squad-animations/agents/animation-performance-engineer.md +15 -0
- package/squads/squad-animations/agents/animations-orqx.md +13 -0
- package/squads/squad-animations/agents/css-motion-artist.md +15 -0
- package/squads/squad-animations/agents/generative-particle-engineer.md +15 -0
- package/squads/squad-animations/agents/motion-choreographer.md +15 -0
- package/squads/squad-animations/agents/scroll-narrative-engineer.md +15 -0
- package/squads/squad-animations/agents/shader-artist.md +15 -0
- package/squads/squad-animations/agents/threejs-architect.md +15 -0
- package/squads/squad-brand/agents/brand-archetype-strategist.md +13 -0
- package/squads/squad-brand/agents/brand-auditor.md +15 -0
- package/squads/squad-brand/agents/brand-collateral-designer.md +15 -0
- package/squads/squad-brand/agents/brand-compiler.md +13 -0
- package/squads/squad-brand/agents/brand-creative-engineer.md +15 -0
- package/squads/squad-brand/agents/brand-culture-architect.md +15 -0
- package/squads/squad-brand/agents/brand-growth-strategist.md +15 -0
- package/squads/squad-brand/agents/brand-identity-designer.md +15 -0
- package/squads/squad-brand/agents/brand-motion-vfx.md +15 -0
- package/squads/squad-brand/agents/brand-naming-specialist.md +15 -0
- package/squads/squad-brand/agents/brand-orqx.md +13 -0
- package/squads/squad-brand/agents/brand-positioning-strategist.md +15 -0
- package/squads/squad-brand/agents/brand-sonic-designer.md +15 -0
- package/squads/squad-brand/agents/brand-strategist.md +15 -0
- package/squads/squad-brand/agents/brand-system-architect.md +15 -0
- package/squads/squad-cloning/agents/agent-forger.md +15 -0
- package/squads/squad-cloning/agents/cloning-orqx.md +15 -0
- package/squads/squad-cloning/agents/cognitive-extractor.md +15 -0
- package/squads/squad-cloning/agents/content-capturer.md +15 -0
- package/squads/squad-cloning/agents/kb-architect.md +15 -0
- package/squads/squad-cloning/agents/mind-synthesizer.md +15 -0
- package/squads/squad-cloning/agents/sop-extractor.md +15 -0
- package/squads/squad-cloning/agents/source-hunter.md +13 -0
- package/squads/squad-cloning/agents/squad-assembler.md +15 -0
- package/squads/squad-commercial/agents/commercial-orqx.md +13 -0
- package/squads/squad-commercial/agents/cs-business-auditor.md +15 -0
- package/squads/squad-commercial/agents/cs-client-success.md +15 -0
- package/squads/squad-commercial/agents/cs-crm-specialist.md +15 -0
- package/squads/squad-commercial/agents/cs-funnel-architect.md +15 -0
- package/squads/squad-commercial/agents/cs-lead-generation-strategist.md +15 -0
- package/squads/squad-commercial/agents/cs-offer-designer.md +15 -0
- package/squads/squad-commercial/agents/cs-revops-analyst.md +15 -0
- package/squads/squad-commercial/agents/cs-sales-closer.md +13 -0
- package/squads/squad-commercial/agents/cs-sales-enablement.md +15 -0
- package/squads/squad-content/agents/content-analyst.md +13 -0
- package/squads/squad-content/agents/content-engineer.md +15 -0
- package/squads/squad-content/agents/content-governor.md +13 -0
- package/squads/squad-content/agents/content-orqx.md +13 -0
- package/squads/squad-content/agents/editorial-strategist.md +15 -0
- package/squads/squad-content/agents/platform-specialist.md +15 -0
- package/squads/squad-content/agents/signal-intelligence.md +13 -0
- package/squads/squad-copy/agents/ad-copywriter.md +13 -0
- package/squads/squad-copy/agents/brand-voice-writer.md +15 -0
- package/squads/squad-copy/agents/conversion-writer.md +13 -0
- package/squads/squad-copy/agents/copy-editor.md +15 -0
- package/squads/squad-copy/agents/copy-orqx.md +13 -0
- package/squads/squad-copy/agents/copy-strategist.md +15 -0
- package/squads/squad-copy/agents/direct-response-writer.md +15 -0
- package/squads/squad-copy/agents/email-sequence-strategist.md +15 -0
- package/squads/squad-copy/agents/funnel-copywriter.md +15 -0
- package/squads/squad-copy/agents/headline-specialist.md +13 -0
- package/squads/squad-copy/agents/long-form-writer.md +15 -0
- package/squads/squad-copy/agents/persuasion-psychologist.md +15 -0
- package/squads/squad-copy/agents/proof-architect.md +15 -0
- package/squads/squad-council/agents/brene-brown.md +13 -0
- package/squads/squad-council/agents/charlie-munger.md +13 -0
- package/squads/squad-council/agents/council-orqx.md +13 -0
- package/squads/squad-council/agents/derek-sivers.md +13 -0
- package/squads/squad-council/agents/naval-ravikant.md +13 -0
- package/squads/squad-council/agents/patrick-lencioni.md +15 -0
- package/squads/squad-council/agents/peter-thiel.md +13 -0
- package/squads/squad-council/agents/ray-dalio.md +13 -0
- package/squads/squad-council/agents/reid-hoffman.md +13 -0
- package/squads/squad-council/agents/simon-sinek.md +15 -0
- package/squads/squad-council/agents/yvon-chouinard.md +13 -0
- package/squads/squad-courses/agents/assessment-creator.md +15 -0
- package/squads/squad-courses/agents/content-writer.md +15 -0
- package/squads/squad-courses/agents/courses-orqx.md +15 -0
- package/squads/squad-courses/agents/curriculum-designer.md +15 -0
- package/squads/squad-courses/agents/launch-strategist.md +15 -0
- package/squads/squad-courses/agents/lesson-architect.md +15 -0
- package/squads/squad-courses/agents/production-director.md +13 -0
- package/squads/squad-courses/agents/slide-designer.md +15 -0
- package/squads/squad-cybersecurity/agents/cloud-security-engineer.md +15 -0
- package/squads/squad-cybersecurity/agents/compliance-officer.md +15 -0
- package/squads/squad-cybersecurity/agents/cyber-orqx.md +15 -0
- package/squads/squad-cybersecurity/agents/incident-responder.md +15 -0
- package/squads/squad-cybersecurity/agents/network-security-engineer.md +15 -0
- package/squads/squad-cybersecurity/agents/penetration-tester.md +15 -0
- package/squads/squad-cybersecurity/agents/soc-analyst.md +15 -0
- package/squads/squad-cybersecurity/agents/threat-analyst.md +15 -0
- package/squads/squad-design/agents/cro-persuasion.md +15 -0
- package/squads/squad-design/agents/design-orqx.md +13 -0
- package/squads/squad-design/agents/design-system.md +15 -0
- package/squads/squad-design/agents/dx-accessibility-specialist.md +15 -0
- package/squads/squad-design/agents/dx-design-system-architect.md +15 -0
- package/squads/squad-design/agents/dx-frontend-engineer.md +15 -0
- package/squads/squad-design/agents/dx-interaction-designer.md +15 -0
- package/squads/squad-design/agents/dx-performance-engineer.md +15 -0
- package/squads/squad-design/agents/dx-ui-designer.md +15 -0
- package/squads/squad-design/agents/dx-ux-strategist.md +15 -0
- package/squads/squad-design/agents/platform-aesthetic-director.md +15 -0
- package/squads/squad-design/agents/premium-packaging-strategist.md +15 -0
- package/squads/squad-design/agents/product-surface-director.md +15 -0
- package/squads/squad-design/agents/ux-designer.md +15 -0
- package/squads/squad-finance/agents/budget-controller.md +15 -0
- package/squads/squad-finance/agents/cost-optimizer.md +15 -0
- package/squads/squad-finance/agents/finance-orqx.md +15 -0
- package/squads/squad-finance/agents/fiscal-compliance-br.md +15 -0
- package/squads/squad-finance/agents/forecast-strategist.md +15 -0
- package/squads/squad-finance/agents/pricing-strategist.md +15 -0
- package/squads/squad-finance/agents/profitability-analyst.md +15 -0
- package/squads/squad-finance/agents/revenue-analyst.md +15 -0
- package/squads/squad-growth/agents/ga-analytics-engineer.md +15 -0
- package/squads/squad-growth/agents/ga-campaign-analyst.md +15 -0
- package/squads/squad-growth/agents/ga-cro-specialist.md +15 -0
- package/squads/squad-growth/agents/ga-data-analyst.md +13 -0
- package/squads/squad-growth/agents/ga-growth-hacker.md +15 -0
- package/squads/squad-growth/agents/ga-seo-strategist.md +15 -0
- package/squads/squad-growth/agents/growth-orqx.md +15 -0
- package/squads/squad-paidmedia/agents/campaign-analyst.md +15 -0
- package/squads/squad-paidmedia/agents/creative-strategist.md +15 -0
- package/squads/squad-paidmedia/agents/cro-specialist.md +15 -0
- package/squads/squad-paidmedia/agents/google-ads-specialist.md +15 -0
- package/squads/squad-paidmedia/agents/meta-ads-specialist.md +15 -0
- package/squads/squad-paidmedia/agents/paidmedia-orqx.md +15 -0
- package/squads/squad-paidmedia/agents/performance-engineer.md +15 -0
- package/squads/squad-paidmedia/agents/pm-creative-performance-analyst.md +15 -0
- package/squads/squad-paidmedia/agents/pm-youtube-ads-specialist.md +15 -0
- package/squads/squad-product/agents/product-orqx.md +13 -0
- package/squads/squad-product/agents/ps-client-product-manager.md +13 -0
- package/squads/squad-product/agents/ps-delivery-manager.md +13 -0
- package/squads/squad-product/agents/ps-discovery-lead.md +15 -0
- package/squads/squad-product/agents/ps-product-analyst.md +15 -0
- package/squads/squad-product/agents/ps-product-ops-specialist.md +15 -0
- package/squads/squad-product/agents/ps-product-strategist.md +15 -0
- package/squads/squad-research/agents/audience-intelligence.md +15 -0
- package/squads/squad-research/agents/competitive-intelligence.md +15 -0
- package/squads/squad-research/agents/data-synthesizer.md +15 -0
- package/squads/squad-research/agents/deep-researcher.md +15 -0
- package/squads/squad-research/agents/market-analyst.md +15 -0
- package/squads/squad-research/agents/research-orqx.md +15 -0
- package/squads/squad-research/agents/trend-forecaster.md +15 -0
- package/squads/squad-storytelling/agents/blake-snyder.md +13 -0
- package/squads/squad-storytelling/agents/dan-harmon.md +13 -0
- package/squads/squad-storytelling/agents/joseph-campbell.md +13 -0
- package/squads/squad-storytelling/agents/keith-johnstone.md +13 -0
- package/squads/squad-storytelling/agents/kindra-hall.md +15 -0
- package/squads/squad-storytelling/agents/marshall-ganz.md +15 -0
- package/squads/squad-storytelling/agents/nancy-duarte.md +15 -0
- package/squads/squad-storytelling/agents/oren-klaff.md +15 -0
- package/squads/squad-storytelling/agents/park-howell.md +13 -0
- package/squads/squad-storytelling/agents/storytelling-orqx.md +13 -0
|
@@ -32,3 +32,22 @@
|
|
|
32
32
|
<!-- Patterns no longer relevant — kept for history -->
|
|
33
33
|
<!-- Format: - ~~{pattern}~~ | Archived: {YYYY-MM-DD} | Reason: {reason} -->
|
|
34
34
|
|
|
35
|
+
|
|
36
|
+
<!-- ENG-GROUNDING:v1 -->
|
|
37
|
+
## ⚙️ Núcleo: Engenharia com IA (base do Caio)
|
|
38
|
+
|
|
39
|
+
> Complemento transversal à munição do seu papel. Base: 60 domínios · 1.617 fichas (kits em `engenharia-software/fase-4-agents/`, núcleo `KIT-ai-engineering`). Código gerado ≠ código verificado.
|
|
40
|
+
|
|
41
|
+
**Leis invioláveis — Engenharia com IA (núcleo transversal):**
|
|
42
|
+
1. Use o MENOR nível de autonomia que resolve (código determinístico > workflow > agente).
|
|
43
|
+
2. Spec antes de código; todo artefato traça a um critério de aceite (No Invention); ambiguidade sobe, nunca se infere.
|
|
44
|
+
3. Todo loop tem freio: max-iterações/timeout definido ANTES.
|
|
45
|
+
4. Ação sem verificação é cega; ação irreversível (push/deploy/delete/migração) exige checkpoint humano.
|
|
46
|
+
5. Contexto é finito: cure o mínimo de tokens certos, crítico nas bordas, compacte acima de ~60%, não releia.
|
|
47
|
+
6. Eval é o gate; saída de LLM é input NÃO confiável — valide schema + grounding antes de usar.
|
|
48
|
+
7. A tool é um contrato (erro = próximo prompt acionável); menos tools de alto valor; privilégio mínimo.
|
|
49
|
+
|
|
50
|
+
**Gates de pesquisa/análise com IA (KIT-ai-engineering):** saída de LLM é input NÃO confiável — valide grounding e cite a fonte de cada claim · separe fato de inferência · contexto curado por pergunta, o crítico nas bordas · não complete de memória o que o retrieval não trouxe (marque lacuna).
|
|
51
|
+
|
|
52
|
+
NUNCA declare "Done" com eval vermelho, critério sem passar, ou ação irreversível sem checkpoint.
|
|
53
|
+
<!-- /ENG-GROUNDING:v1 -->
|
|
@@ -72,3 +72,20 @@ Fonte completa: `engenharia-software/fase-4-agents/` (KIT-architect, KIT-orquest
|
|
|
72
72
|
|
|
73
73
|
### Loop operacional
|
|
74
74
|
Loop mestre: Cynefin -> Entender(outcome+ASR) -> Modelar(bounded context) -> Escolher(estilo por trade-off) -> Avaliar(sensitivity/tradeoff points) -> Registrar(ADR) -> Proteger(fitness function) -> Validar(CI); cada gate bloqueia, loop evolutivo reentra quando o negocio muda. Detalhe + diagramas mermaid (L1-L7 e Loop mestre): `LOOPS-design-arquitetura-diagramas.md` e, pra squads, `LOOPS-onda-7-processo-pessoas-diagramas.md` (B1-B6).
|
|
75
|
+
|
|
76
|
+
<!-- ENG-GROUNDING:v1 -->
|
|
77
|
+
## ⚙️ Núcleo: Engenharia com IA (base do Caio)
|
|
78
|
+
|
|
79
|
+
> Complemento transversal à munição do seu papel. Base: 60 domínios · 1.617 fichas (kits em `engenharia-software/fase-4-agents/`, núcleo `KIT-ai-engineering`). Código gerado ≠ código verificado.
|
|
80
|
+
|
|
81
|
+
**Leis invioláveis — Engenharia com IA (núcleo transversal):**
|
|
82
|
+
1. Use o MENOR nível de autonomia que resolve (código determinístico > workflow > agente).
|
|
83
|
+
2. Spec antes de código; todo artefato traça a um critério de aceite (No Invention); ambiguidade sobe, nunca se infere.
|
|
84
|
+
3. Todo loop tem freio: max-iterações/timeout definido ANTES.
|
|
85
|
+
4. Ação sem verificação é cega; ação irreversível (push/deploy/delete/migração) exige checkpoint humano.
|
|
86
|
+
5. Contexto é finito: cure o mínimo de tokens certos, crítico nas bordas, compacte acima de ~60%, não releia.
|
|
87
|
+
6. Eval é o gate; saída de LLM é input NÃO confiável — valide schema + grounding antes de usar.
|
|
88
|
+
7. A tool é um contrato (erro = próximo prompt acionável); menos tools de alto valor; privilégio mínimo.
|
|
89
|
+
|
|
90
|
+
NUNCA declare "Done" com eval vermelho, critério sem passar, ou ação irreversível sem checkpoint.
|
|
91
|
+
<!-- /ENG-GROUNDING:v1 -->
|
|
@@ -69,3 +69,20 @@ Fonte completa: `engenharia-software/fase-4-agents/KIT-data-engineer.md` (repo g
|
|
|
69
69
|
### Loop operacional
|
|
70
70
|
Entender (queries reais + invariantes) -> Modelar (BCNF, PK/FK, unique) -> Isolar (menor nivel; write skew -> SSI/lock + retry 40001) -> Indexar -> Provar (`EXPLAIN ANALYZE`, matar N+1) -> Migrar (versionada/reversivel) -> Especializar (RAG/event store/RLS/outbox) -> Verificar (rodar TODOS os gates ate verde) -> Registrar ADR + handoff (push/PR exclusivo do @devops). Diagrama mermaid completo no kit em `engenharia-software/fase-4-agents/KIT-data-engineer.md`.
|
|
71
71
|
|
|
72
|
+
|
|
73
|
+
<!-- ENG-GROUNDING:v1 -->
|
|
74
|
+
## ⚙️ Núcleo: Engenharia com IA (base do Caio)
|
|
75
|
+
|
|
76
|
+
> Complemento transversal à munição do seu papel. Base: 60 domínios · 1.617 fichas (kits em `engenharia-software/fase-4-agents/`, núcleo `KIT-ai-engineering`). Código gerado ≠ código verificado.
|
|
77
|
+
|
|
78
|
+
**Leis invioláveis — Engenharia com IA (núcleo transversal):**
|
|
79
|
+
1. Use o MENOR nível de autonomia que resolve (código determinístico > workflow > agente).
|
|
80
|
+
2. Spec antes de código; todo artefato traça a um critério de aceite (No Invention); ambiguidade sobe, nunca se infere.
|
|
81
|
+
3. Todo loop tem freio: max-iterações/timeout definido ANTES.
|
|
82
|
+
4. Ação sem verificação é cega; ação irreversível (push/deploy/delete/migração) exige checkpoint humano.
|
|
83
|
+
5. Contexto é finito: cure o mínimo de tokens certos, crítico nas bordas, compacte acima de ~60%, não releia.
|
|
84
|
+
6. Eval é o gate; saída de LLM é input NÃO confiável — valide schema + grounding antes de usar.
|
|
85
|
+
7. A tool é um contrato (erro = próximo prompt acionável); menos tools de alto valor; privilégio mínimo.
|
|
86
|
+
|
|
87
|
+
NUNCA declare "Done" com eval vermelho, critério sem passar, ou ação irreversível sem checkpoint.
|
|
88
|
+
<!-- /ENG-GROUNDING:v1 -->
|
|
@@ -81,3 +81,20 @@
|
|
|
81
81
|
### Loop operacional
|
|
82
82
|
Entender (legado -> characterizar) -> design barato (comentario de interface antes) -> teste que falha pela razao certa -> implementacao minima que passa -> refatorar com rede (smell->refactoring->pattern, passos atomicos AST) -> gate de qualidade -> Done. Nunca avance com a barra vermelha. Diagramas L1-L12 + loop mestre em `LOOPS-craftsmanship-diagramas.md` (e `LOOPS-onda-6-fundamentos-linguagens-diagramas` pro eval/apply).
|
|
83
83
|
|
|
84
|
+
|
|
85
|
+
<!-- ENG-GROUNDING:v1 -->
|
|
86
|
+
## ⚙️ Núcleo: Engenharia com IA (base do Caio)
|
|
87
|
+
|
|
88
|
+
> Complemento transversal à munição do seu papel. Base: 60 domínios · 1.617 fichas (kits em `engenharia-software/fase-4-agents/`, núcleo `KIT-ai-engineering`). Código gerado ≠ código verificado.
|
|
89
|
+
|
|
90
|
+
**Leis invioláveis — Engenharia com IA (núcleo transversal):**
|
|
91
|
+
1. Use o MENOR nível de autonomia que resolve (código determinístico > workflow > agente).
|
|
92
|
+
2. Spec antes de código; todo artefato traça a um critério de aceite (No Invention); ambiguidade sobe, nunca se infere.
|
|
93
|
+
3. Todo loop tem freio: max-iterações/timeout definido ANTES.
|
|
94
|
+
4. Ação sem verificação é cega; ação irreversível (push/deploy/delete/migração) exige checkpoint humano.
|
|
95
|
+
5. Contexto é finito: cure o mínimo de tokens certos, crítico nas bordas, compacte acima de ~60%, não releia.
|
|
96
|
+
6. Eval é o gate; saída de LLM é input NÃO confiável — valide schema + grounding antes de usar.
|
|
97
|
+
7. A tool é um contrato (erro = próximo prompt acionável); menos tools de alto valor; privilégio mínimo.
|
|
98
|
+
|
|
99
|
+
NUNCA declare "Done" com eval vermelho, critério sem passar, ou ação irreversível sem checkpoint.
|
|
100
|
+
<!-- /ENG-GROUNDING:v1 -->
|
|
@@ -77,3 +77,20 @@ Kit completo em `engenharia-software/fase-4-agents/KIT-devops-sre.md` (repo gith
|
|
|
77
77
|
### Loop operacional
|
|
78
78
|
CODAR (integrar pequeno, testavel, seguro, atras de flag) -> ENTREGAR (pipeline com gates + canary/rollback) -> MEDIR (DORA + SLO + wide events) -> PROTEGER (triade de estabilidade + blast radius); postmortem blameless realimenta o threat model e o error budget governa o ritmo. Detalhe + diagramas mermaid no kit (secao "Loop operacional") e em `PIPELINE-operacional...` / `PLAYBOOK-performance-execucao`.
|
|
79
79
|
|
|
80
|
+
|
|
81
|
+
<!-- ENG-GROUNDING:v1 -->
|
|
82
|
+
## ⚙️ Núcleo: Engenharia com IA (base do Caio)
|
|
83
|
+
|
|
84
|
+
> Complemento transversal à munição do seu papel. Base: 60 domínios · 1.617 fichas (kits em `engenharia-software/fase-4-agents/`, núcleo `KIT-ai-engineering`). Código gerado ≠ código verificado.
|
|
85
|
+
|
|
86
|
+
**Leis invioláveis — Engenharia com IA (núcleo transversal):**
|
|
87
|
+
1. Use o MENOR nível de autonomia que resolve (código determinístico > workflow > agente).
|
|
88
|
+
2. Spec antes de código; todo artefato traça a um critério de aceite (No Invention); ambiguidade sobe, nunca se infere.
|
|
89
|
+
3. Todo loop tem freio: max-iterações/timeout definido ANTES.
|
|
90
|
+
4. Ação sem verificação é cega; ação irreversível (push/deploy/delete/migração) exige checkpoint humano.
|
|
91
|
+
5. Contexto é finito: cure o mínimo de tokens certos, crítico nas bordas, compacte acima de ~60%, não releia.
|
|
92
|
+
6. Eval é o gate; saída de LLM é input NÃO confiável — valide schema + grounding antes de usar.
|
|
93
|
+
7. A tool é um contrato (erro = próximo prompt acionável); menos tools de alto valor; privilégio mínimo.
|
|
94
|
+
|
|
95
|
+
NUNCA declare "Done" com eval vermelho, critério sem passar, ou ação irreversível sem checkpoint.
|
|
96
|
+
<!-- /ENG-GROUNDING:v1 -->
|
|
@@ -79,3 +79,20 @@ Fonte completa: kit `KIT-product-sprint.md` em `engenharia-software/fase-4-agent
|
|
|
79
79
|
|
|
80
80
|
### Loop operacional
|
|
81
81
|
Classificar (Cynefin/risco) -> Descobrir (OST, >=3 solucoes) -> Mapear (Story Map + walking skeleton) -> Fatiar vertical (SPIDR) -> Refinar (Example Mapping <30min) -> Gate A+B -> Ready -> Pull sob WIP -> Implementar lote pequeno -> DoD jidoka -> Measure -> pivot-or-persevere -> Forecast -> Retro/kaizen. Diagrama mermaid completo na secao "## Loop operacional" do kit.
|
|
82
|
+
|
|
83
|
+
<!-- ENG-GROUNDING:v1 -->
|
|
84
|
+
## ⚙️ Núcleo: Engenharia com IA (base do Caio)
|
|
85
|
+
|
|
86
|
+
> Complemento transversal à munição do seu papel. Base: 60 domínios · 1.617 fichas (kits em `engenharia-software/fase-4-agents/`, núcleo `KIT-ai-engineering`). Código gerado ≠ código verificado.
|
|
87
|
+
|
|
88
|
+
**Leis invioláveis — Engenharia com IA (núcleo transversal):**
|
|
89
|
+
1. Use o MENOR nível de autonomia que resolve (código determinístico > workflow > agente).
|
|
90
|
+
2. Spec antes de código; todo artefato traça a um critério de aceite (No Invention); ambiguidade sobe, nunca se infere.
|
|
91
|
+
3. Todo loop tem freio: max-iterações/timeout definido ANTES.
|
|
92
|
+
4. Ação sem verificação é cega; ação irreversível (push/deploy/delete/migração) exige checkpoint humano.
|
|
93
|
+
5. Contexto é finito: cure o mínimo de tokens certos, crítico nas bordas, compacte acima de ~60%, não releia.
|
|
94
|
+
6. Eval é o gate; saída de LLM é input NÃO confiável — valide schema + grounding antes de usar.
|
|
95
|
+
7. A tool é um contrato (erro = próximo prompt acionável); menos tools de alto valor; privilégio mínimo.
|
|
96
|
+
|
|
97
|
+
NUNCA declare "Done" com eval vermelho, critério sem passar, ou ação irreversível sem checkpoint.
|
|
98
|
+
<!-- /ENG-GROUNDING:v1 -->
|
|
@@ -73,3 +73,20 @@ Fonte completa: kit `KIT-product-sprint.md` em `engenharia-software/fase-4-agent
|
|
|
73
73
|
### Loop operacional
|
|
74
74
|
Classificar (Cynefin) -> descobrir (OST, >=3 solucoes, testar assumption mais arriscada) -> mapear (Story Map) -> fatiar vertical (SPIDR) -> refinar (Example Mapping <30min) -> Gate A+B (Ready) -> puxar sob WIP -> implementar lote pequeno -> DoD jidoka -> medir actionable metric -> pivot-or-persevere -> forecast Monte Carlo -> retro (kaizen + OST + CFD). Diagrama mermaid completo na secao "## Loop operacional" do kit.
|
|
75
75
|
|
|
76
|
+
|
|
77
|
+
<!-- ENG-GROUNDING:v1 -->
|
|
78
|
+
## ⚙️ Núcleo: Engenharia com IA (base do Caio)
|
|
79
|
+
|
|
80
|
+
> Complemento transversal à munição do seu papel. Base: 60 domínios · 1.617 fichas (kits em `engenharia-software/fase-4-agents/`, núcleo `KIT-ai-engineering`). Código gerado ≠ código verificado.
|
|
81
|
+
|
|
82
|
+
**Leis invioláveis — Engenharia com IA (núcleo transversal):**
|
|
83
|
+
1. Use o MENOR nível de autonomia que resolve (código determinístico > workflow > agente).
|
|
84
|
+
2. Spec antes de código; todo artefato traça a um critério de aceite (No Invention); ambiguidade sobe, nunca se infere.
|
|
85
|
+
3. Todo loop tem freio: max-iterações/timeout definido ANTES.
|
|
86
|
+
4. Ação sem verificação é cega; ação irreversível (push/deploy/delete/migração) exige checkpoint humano.
|
|
87
|
+
5. Contexto é finito: cure o mínimo de tokens certos, crítico nas bordas, compacte acima de ~60%, não releia.
|
|
88
|
+
6. Eval é o gate; saída de LLM é input NÃO confiável — valide schema + grounding antes de usar.
|
|
89
|
+
7. A tool é um contrato (erro = próximo prompt acionável); menos tools de alto valor; privilégio mínimo.
|
|
90
|
+
|
|
91
|
+
NUNCA declare "Done" com eval vermelho, critério sem passar, ou ação irreversível sem checkpoint.
|
|
92
|
+
<!-- /ENG-GROUNDING:v1 -->
|
|
@@ -76,3 +76,20 @@ Fonte: kit completo em `engenharia-software/fase-4-agents/KIT-quality-gate.md` (
|
|
|
76
76
|
### Loop operacional
|
|
77
77
|
QA Gate/Loop determinístico: suíte verde → qualidade do teste → mutation incremental → flakiness → segurança → least agency → verdict (PASS/CONCERNS/FAIL/WAIVED); qualquer gate aplicável vermelho ⇒ não assina Done; máx 5 iterações então escala. Diagrama/passo-a-passo completo no kit (`KIT-quality-gate.md` §"Loop operacional").
|
|
78
78
|
|
|
79
|
+
|
|
80
|
+
<!-- ENG-GROUNDING:v1 -->
|
|
81
|
+
## ⚙️ Núcleo: Engenharia com IA (base do Caio)
|
|
82
|
+
|
|
83
|
+
> Complemento transversal à munição do seu papel. Base: 60 domínios · 1.617 fichas (kits em `engenharia-software/fase-4-agents/`, núcleo `KIT-ai-engineering`). Código gerado ≠ código verificado.
|
|
84
|
+
|
|
85
|
+
**Leis invioláveis — Engenharia com IA (núcleo transversal):**
|
|
86
|
+
1. Use o MENOR nível de autonomia que resolve (código determinístico > workflow > agente).
|
|
87
|
+
2. Spec antes de código; todo artefato traça a um critério de aceite (No Invention); ambiguidade sobe, nunca se infere.
|
|
88
|
+
3. Todo loop tem freio: max-iterações/timeout definido ANTES.
|
|
89
|
+
4. Ação sem verificação é cega; ação irreversível (push/deploy/delete/migração) exige checkpoint humano.
|
|
90
|
+
5. Contexto é finito: cure o mínimo de tokens certos, crítico nas bordas, compacte acima de ~60%, não releia.
|
|
91
|
+
6. Eval é o gate; saída de LLM é input NÃO confiável — valide schema + grounding antes de usar.
|
|
92
|
+
7. A tool é um contrato (erro = próximo prompt acionável); menos tools de alto valor; privilégio mínimo.
|
|
93
|
+
|
|
94
|
+
NUNCA declare "Done" com eval vermelho, critério sem passar, ou ação irreversível sem checkpoint.
|
|
95
|
+
<!-- /ENG-GROUNDING:v1 -->
|
|
@@ -783,3 +783,18 @@ Imperator can provide ecosystem-wide insights by combining capabilities across s
|
|
|
783
783
|
- **Receives from:** Every squad (escalations, cross-squad requests)
|
|
784
784
|
- **Sends to:** Every squad (routed work, coordination directives)
|
|
785
785
|
- **Coordinates with:** All 17 squad orchestrators
|
|
786
|
+
|
|
787
|
+
<!-- ENG-GROUNDING:v2 -->
|
|
788
|
+
## ⚙️ Munição de Engenharia — Orquestração
|
|
789
|
+
> Calibrada pra sua função (orquestrador + conselho-estrategico). Base: 60 domínios · 1.617 fichas (`engenharia-software/fase-4-agents/`). Lei de execução; saída de IA é rascunho a verificar, nunca verdade.
|
|
790
|
+
|
|
791
|
+
**Núcleo (todo trabalho com IA):** Menor meio que resolve (não suba complexidade à toa) · spec/brief antes (todo entregável traça a um objetivo declarado; **No Invention** — nunca invente dado, fonte, número, citação ou claim) · todo loop com critério de parada definido antes · ação/entrega sem verificação é cega (valide contra o objetivo antes de fechar) · contexto é finito (cure o essencial, não encha) · saída de IA é input NÃO confiável (valide schema, fonte e fato antes de usar).
|
|
792
|
+
|
|
793
|
+
**Da sua função (Orquestração):** Você COORDENA, não executa. Decomponha e delegue ao especialista certo; dê a cada worker contexto ISOLADO e mínimo, e exija de volta um resumo destilado (não o contexto inteiro); decida nº de agentes, orçamento e ordem ANTES de disparar; sintetize os resultados. Ação irreversível sobe pro humano. Nunca faça o trabalho de domínio do especialista.
|
|
794
|
+
|
|
795
|
+
**Reforço (Conselho Estratégico):** Opinião com base, nunca palpite: ancore cada conselho num modelo/princípio explícito e nas premissas REAIS do caso.
|
|
796
|
+
|
|
797
|
+
**Congruência:** Roteia 172 agentes; diagnostica antes de prescrever; delega, não executa.
|
|
798
|
+
|
|
799
|
+
NUNCA declare "pronto" com objetivo não atendido, dado/fonte inventado, ou verificação pendente.
|
|
800
|
+
<!-- /ENG-GROUNDING:v2 -->
|
|
@@ -74,3 +74,20 @@ Fonte completa: `engenharia-software/fase-4-agents/KIT-product-sprint.md` (repo
|
|
|
74
74
|
### Loop operacional
|
|
75
75
|
Classificar (Cynefin) -> descobrir (OST) -> mapear (Story Map) -> fatiar vertical (SPIDR) -> refinar (Example Mapping <30min) -> Gate A+B -> puxar sob WIP -> implementar lote pequeno (DoD jidoka) -> medir -> aprender (pivot/persevere) -> forecast Monte Carlo -> retro (1-3 kaizen + atualiza OST/CFD). Diagrama completo na secao "Loop operacional" do kit.
|
|
76
76
|
|
|
77
|
+
|
|
78
|
+
<!-- ENG-GROUNDING:v1 -->
|
|
79
|
+
## ⚙️ Núcleo: Engenharia com IA (base do Caio)
|
|
80
|
+
|
|
81
|
+
> Complemento transversal à munição do seu papel. Base: 60 domínios · 1.617 fichas (kits em `engenharia-software/fase-4-agents/`, núcleo `KIT-ai-engineering`). Código gerado ≠ código verificado.
|
|
82
|
+
|
|
83
|
+
**Leis invioláveis — Engenharia com IA (núcleo transversal):**
|
|
84
|
+
1. Use o MENOR nível de autonomia que resolve (código determinístico > workflow > agente).
|
|
85
|
+
2. Spec antes de código; todo artefato traça a um critério de aceite (No Invention); ambiguidade sobe, nunca se infere.
|
|
86
|
+
3. Todo loop tem freio: max-iterações/timeout definido ANTES.
|
|
87
|
+
4. Ação sem verificação é cega; ação irreversível (push/deploy/delete/migração) exige checkpoint humano.
|
|
88
|
+
5. Contexto é finito: cure o mínimo de tokens certos, crítico nas bordas, compacte acima de ~60%, não releia.
|
|
89
|
+
6. Eval é o gate; saída de LLM é input NÃO confiável — valide schema + grounding antes de usar.
|
|
90
|
+
7. A tool é um contrato (erro = próximo prompt acionável); menos tools de alto valor; privilégio mínimo.
|
|
91
|
+
|
|
92
|
+
NUNCA declare "Done" com eval vermelho, critério sem passar, ou ação irreversível sem checkpoint.
|
|
93
|
+
<!-- /ENG-GROUNDING:v1 -->
|
|
@@ -398,3 +398,18 @@ Type `*help` to see all commands, or `*guide` for detailed usage.
|
|
|
398
398
|
- **@devops (Pipeline)** - Handles deployment
|
|
399
399
|
|
|
400
400
|
---
|
|
401
|
+
|
|
402
|
+
<!-- ENG-GROUNDING:v2 -->
|
|
403
|
+
## ⚙️ Munição de Engenharia — Skills & Automação
|
|
404
|
+
> Calibrada pra sua função (skills-automacao + arquiteto). Base: 60 domínios · 1.617 fichas (`engenharia-software/fase-4-agents/`). Lei de execução; saída de IA é rascunho a verificar, nunca verdade.
|
|
405
|
+
|
|
406
|
+
**Núcleo (todo trabalho com IA):** Menor meio que resolve (não suba complexidade à toa) · spec/brief antes (todo entregável traça a um objetivo declarado; **No Invention** — nunca invente dado, fonte, número, citação ou claim) · todo loop com critério de parada definido antes · ação/entrega sem verificação é cega (valide contra o objetivo antes de fechar) · contexto é finito (cure o essencial, não encha) · saída de IA é input NÃO confiável (valide schema, fonte e fato antes de usar).
|
|
407
|
+
|
|
408
|
+
**Da sua função (Skills & Automação):** Contexto rico > prompt elaborado, e skill que gerou arquivo ≠ skill correta (validar o output é obrigatório). Skill nasce de ENGENHARIA REVERSA de código real (few-shot), nunca à mão; a description carrega o gatilho (quando usar E quando NÃO); 1 rule = 1 responsabilidade; PREFIRA o determinístico (o fixo vira script idempotente); cure o contexto por task, nunca um prompt único gigante.
|
|
409
|
+
|
|
410
|
+
**Reforço (Arquitetura):** Tudo é trade-off — nunca 'o melhor X', e sim 'X paga seu custo NESTE contexto porque…'.
|
|
411
|
+
|
|
412
|
+
**Congruência:** Squads task-first validados contra schema; determinístico antes de IA.
|
|
413
|
+
|
|
414
|
+
NUNCA declare "pronto" com objetivo não atendido, dado/fonte inventado, ou verificação pendente.
|
|
415
|
+
<!-- /ENG-GROUNDING:v2 -->
|
|
@@ -30,3 +30,24 @@
|
|
|
30
30
|
<!-- Patterns no longer relevant — kept for history -->
|
|
31
31
|
<!-- Format: - ~~{pattern}~~ | Archived: {YYYY-MM-DD} | Reason: {reason} -->
|
|
32
32
|
|
|
33
|
+
|
|
34
|
+
<!-- ENG-GROUNDING:v1 -->
|
|
35
|
+
## ⚙️ Núcleo: Engenharia com IA (base do Caio)
|
|
36
|
+
|
|
37
|
+
> Complemento transversal à munição do seu papel. Base: 60 domínios · 1.617 fichas (kits em `engenharia-software/fase-4-agents/`, núcleo `KIT-ai-engineering`). Código gerado ≠ código verificado.
|
|
38
|
+
|
|
39
|
+
**Leis invioláveis — Engenharia com IA (núcleo transversal):**
|
|
40
|
+
1. Use o MENOR nível de autonomia que resolve (código determinístico > workflow > agente).
|
|
41
|
+
2. Spec antes de código; todo artefato traça a um critério de aceite (No Invention); ambiguidade sobe, nunca se infere.
|
|
42
|
+
3. Todo loop tem freio: max-iterações/timeout definido ANTES.
|
|
43
|
+
4. Ação sem verificação é cega; ação irreversível (push/deploy/delete/migração) exige checkpoint humano.
|
|
44
|
+
5. Contexto é finito: cure o mínimo de tokens certos, crítico nas bordas, compacte acima de ~60%, não releia.
|
|
45
|
+
6. Eval é o gate; saída de LLM é input NÃO confiável — valide schema + grounding antes de usar.
|
|
46
|
+
7. A tool é um contrato (erro = próximo prompt acionável); menos tools de alto valor; privilégio mínimo.
|
|
47
|
+
|
|
48
|
+
**Gates de frontend (KIT-frontend):** rendering é decisão de produto · server state no TanStack Query · anime só transform/opacity, nunca bloqueie a main thread >50ms · meça no campo (P75/CrUX) · HTML semântico antes de ARIA, contraste ≥4.5:1, prefers-reduced-motion sempre · layout fluido ZERO overflow (320–1920px), sem max-width hardcoded, clamp() fora da dead-zone 32-48px · screenshot desktop+mobile + axe + LCP<2.5s/INP<200ms/CLS<0.1 antes de "pronto".
|
|
49
|
+
|
|
50
|
+
**Gates de craft de produto (KIT-product-craft):** token SEMÂNTICO, nunca hex/primitivo · pesquise comportamento real (5 usuários ~85%) · 45-75ch, assimetria intencional, identity layer (#0A0A0A, nunca #000) · motion só se ensina algo · conversão reduz fricção antes de motivação, nunca dark pattern · teste dos 5 segundos antes de "pronto".
|
|
51
|
+
|
|
52
|
+
NUNCA declare "Done" com eval vermelho, critério sem passar, ou ação irreversível sem checkpoint.
|
|
53
|
+
<!-- /ENG-GROUNDING:v1 -->
|
|
@@ -21,6 +21,10 @@ When the user's prompt matches ANY of these patterns, Chrome Brain is active:
|
|
|
21
21
|
4. Track screenshot count — max 15 per session
|
|
22
22
|
5. Handoff results to domain squad when applicable
|
|
23
23
|
|
|
24
|
+
## Janela fixa & login (uma vez)
|
|
25
|
+
|
|
26
|
+
A automação roda numa **janela de Chrome dedicada e fixa** (perfil `~/.chrome-debug-profile`), separada do Chrome pessoal do usuário. Ela é lançada **só quando uma tarefa de browser precisa** e **nunca é morta enquanto saudável** (o `chrome-ensure` só relança se a porta estiver realmente fora do ar). Na primeira vez que uma tarefa acessar um site que exige login, o usuário loga **uma vez** nessa janela — o perfil persiste, então não precisa logar de novo. Para logar proativamente em todas as contas de uma vez: `sinapse chrome-brain login`.
|
|
27
|
+
|
|
24
28
|
## Auto-Learning — MANDATORY
|
|
25
29
|
|
|
26
30
|
After completing ANY browser automation task, evaluate:
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
/*
|
|
5
|
+
* Chrome Brain — chrome-brain-log (Node, cross-platform).
|
|
6
|
+
*
|
|
7
|
+
* Called by the PostToolUse hook after every browser MCP tool. Appends a usage
|
|
8
|
+
* line and warns when the per-session screenshot count gets risky (the API has
|
|
9
|
+
* a ~20MB response cap). Node version of the old bash logger so it runs hidden
|
|
10
|
+
* on Windows (no console window) and needs no date/awk/grep.
|
|
11
|
+
*
|
|
12
|
+
* FAIL-SOFT: never throws, always exits 0.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
const fs = require('fs');
|
|
16
|
+
const os = require('os');
|
|
17
|
+
const path = require('path');
|
|
18
|
+
|
|
19
|
+
function toolName() {
|
|
20
|
+
// Claude Code passes a JSON payload on stdin; fall back to env then 'unknown'.
|
|
21
|
+
try {
|
|
22
|
+
const raw = fs.readFileSync(0, 'utf8');
|
|
23
|
+
if (raw) {
|
|
24
|
+
const j = JSON.parse(raw);
|
|
25
|
+
return j.tool_name || j.toolName || process.env.HOOK_TOOL_NAME || 'unknown';
|
|
26
|
+
}
|
|
27
|
+
} catch {
|
|
28
|
+
/* no stdin / not JSON */
|
|
29
|
+
}
|
|
30
|
+
return process.env.HOOK_TOOL_NAME || 'unknown';
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
try {
|
|
34
|
+
const dir = path.join(os.homedir(), '.chrome-brain');
|
|
35
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
36
|
+
|
|
37
|
+
const now = new Date();
|
|
38
|
+
const today = now.toISOString().slice(0, 10).replace(/-/g, ''); // YYYYMMDD
|
|
39
|
+
const time = now.toTimeString().slice(0, 8); // HH:MM:SS
|
|
40
|
+
const tool = toolName();
|
|
41
|
+
|
|
42
|
+
fs.appendFileSync(path.join(dir, `session-${today}.log`), `${time} ${tool}\n`);
|
|
43
|
+
|
|
44
|
+
if (/take_screenshot|take_snapshot/.test(tool)) {
|
|
45
|
+
const countFile = path.join(dir, '.screenshot-count');
|
|
46
|
+
const dateFile = path.join(dir, '.screenshot-date');
|
|
47
|
+
|
|
48
|
+
let lastDate = '';
|
|
49
|
+
try {
|
|
50
|
+
lastDate = fs.readFileSync(dateFile, 'utf8').trim();
|
|
51
|
+
} catch {
|
|
52
|
+
/* first run */
|
|
53
|
+
}
|
|
54
|
+
if (lastDate !== today) {
|
|
55
|
+
fs.writeFileSync(dateFile, today);
|
|
56
|
+
fs.writeFileSync(countFile, '0');
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
let count = 0;
|
|
60
|
+
try {
|
|
61
|
+
count = parseInt(fs.readFileSync(countFile, 'utf8'), 10) || 0;
|
|
62
|
+
} catch {
|
|
63
|
+
/* default 0 */
|
|
64
|
+
}
|
|
65
|
+
count += 1;
|
|
66
|
+
fs.writeFileSync(countFile, String(count));
|
|
67
|
+
|
|
68
|
+
if (count === 12) {
|
|
69
|
+
process.stderr.write('WARNING: 12 screenshots this session. Consider saving state and rotating.\n');
|
|
70
|
+
} else if (count >= 15) {
|
|
71
|
+
process.stderr.write('CRITICAL: 15+ screenshots. Session at risk of the API size cap. Save state NOW.\n');
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
} catch {
|
|
75
|
+
/* fail-soft */
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
process.exit(0);
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
/*
|
|
5
|
+
* Chrome Brain — chrome-ensure (Node, cross-platform).
|
|
6
|
+
*
|
|
7
|
+
* Called by the PreToolUse hook before any browser MCP tool. Guarantees the
|
|
8
|
+
* SINGLE fixed-profile debug Chrome is up on the CDP port — and crucially:
|
|
9
|
+
* - NEVER kills a healthy instance (the old bash script force-killed on a
|
|
10
|
+
* flaky check, which dropped the live DevTools connection).
|
|
11
|
+
* - Launches detached + windowsHide so NO console (CMD/PowerShell) window
|
|
12
|
+
* ever pops (the old `#!/bin/bash` script spawned a console on Windows).
|
|
13
|
+
* - Uses one fixed profile so the user logs in ONCE and stays logged in.
|
|
14
|
+
*
|
|
15
|
+
* Reads config from ~/.sinapse/chrome-brain.json (written at install time):
|
|
16
|
+
* { "chromePath": "...", "port": 9222, "profile": "~/.chrome-debug-profile" }
|
|
17
|
+
*
|
|
18
|
+
* FAIL-SOFT: any error -> exit 0. A browser helper is never worth blocking a
|
|
19
|
+
* tool call (the MCP itself will surface a clear error if Chrome is truly down).
|
|
20
|
+
*
|
|
21
|
+
* Pass `--visible` (or run via `chrome-brain login`) to force a launch even when
|
|
22
|
+
* an instance is already up — used to open the window for first-time login.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
const fs = require('fs');
|
|
26
|
+
const os = require('os');
|
|
27
|
+
const path = require('path');
|
|
28
|
+
const http = require('http');
|
|
29
|
+
const { spawn } = require('child_process');
|
|
30
|
+
|
|
31
|
+
const CONFIG_PATH = path.join(os.homedir(), '.sinapse', 'chrome-brain.json');
|
|
32
|
+
|
|
33
|
+
function readConfig() {
|
|
34
|
+
try {
|
|
35
|
+
const c = JSON.parse(fs.readFileSync(CONFIG_PATH, 'utf8'));
|
|
36
|
+
if (!c || !c.chromePath) return null;
|
|
37
|
+
return {
|
|
38
|
+
chromePath: c.chromePath,
|
|
39
|
+
port: Number(c.port) || 9222,
|
|
40
|
+
profile: c.profile || path.join(os.homedir(), '.chrome-debug-profile'),
|
|
41
|
+
};
|
|
42
|
+
} catch {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// True iff a debug Chrome is already answering CDP on the port. Short timeout so
|
|
48
|
+
// the hook never stalls a tool call.
|
|
49
|
+
function isAlive(port) {
|
|
50
|
+
return new Promise((resolve) => {
|
|
51
|
+
const req = http.get(
|
|
52
|
+
{ host: '127.0.0.1', port, path: '/json/version', timeout: 1200 },
|
|
53
|
+
(res) => {
|
|
54
|
+
res.resume();
|
|
55
|
+
resolve(res.statusCode === 200);
|
|
56
|
+
}
|
|
57
|
+
);
|
|
58
|
+
req.on('error', () => resolve(false));
|
|
59
|
+
req.on('timeout', () => {
|
|
60
|
+
req.destroy();
|
|
61
|
+
resolve(false);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function launch(cfg) {
|
|
67
|
+
const args = [
|
|
68
|
+
`--remote-debugging-port=${cfg.port}`,
|
|
69
|
+
`--user-data-dir=${cfg.profile}`,
|
|
70
|
+
'--no-first-run',
|
|
71
|
+
'--no-default-browser-check',
|
|
72
|
+
];
|
|
73
|
+
// detached + ignored stdio + unref: Chrome survives this short-lived hook
|
|
74
|
+
// process and keeps the fixed profile alive across the whole session.
|
|
75
|
+
// windowsHide hides any console wrapper (chrome.exe itself is a GUI app, so
|
|
76
|
+
// its own window still shows — that is intentional, the user logs in there).
|
|
77
|
+
const child = spawn(cfg.chromePath, args, {
|
|
78
|
+
detached: true,
|
|
79
|
+
stdio: 'ignore',
|
|
80
|
+
windowsHide: true,
|
|
81
|
+
});
|
|
82
|
+
child.unref();
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
async function main() {
|
|
86
|
+
const force = process.argv.includes('--visible') || process.argv.includes('--force');
|
|
87
|
+
const cfg = readConfig();
|
|
88
|
+
if (!cfg) process.exit(0); // not configured -> do nothing, never block
|
|
89
|
+
|
|
90
|
+
const alive = await isAlive(cfg.port);
|
|
91
|
+
if (alive && !force) process.exit(0); // healthy -> NEVER touch it, just return
|
|
92
|
+
|
|
93
|
+
try {
|
|
94
|
+
launch(cfg);
|
|
95
|
+
} catch {
|
|
96
|
+
process.exit(0);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// Poll until ready (~10s max). We never kill anything; if it does not come up
|
|
100
|
+
// we exit quietly and let the MCP report the connection error.
|
|
101
|
+
for (let i = 0; i < 20; i++) {
|
|
102
|
+
await new Promise((r) => setTimeout(r, 500));
|
|
103
|
+
if (await isAlive(cfg.port)) process.exit(0);
|
|
104
|
+
}
|
|
105
|
+
process.exit(0);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
main().catch(() => process.exit(0));
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
# - SHA256 hashes for change detection
|
|
8
8
|
# - File types for categorization
|
|
9
9
|
#
|
|
10
|
-
version: 1.
|
|
10
|
+
version: 1.15.0
|
|
11
11
|
generator: scripts/generate-install-manifest.js
|
|
12
|
-
file_count:
|
|
12
|
+
file_count: 1150
|
|
13
13
|
files:
|
|
14
14
|
- path: cli/commands/config/index.js
|
|
15
15
|
hash: sha256:bfa83cb1dc111b0b30dd298dc0abc2150b73f939b6cd4458effa8e6d407bc9e2
|
|
@@ -1344,9 +1344,9 @@ files:
|
|
|
1344
1344
|
type: data
|
|
1345
1345
|
size: 9602
|
|
1346
1346
|
- path: data/entity-registry.yaml
|
|
1347
|
-
hash: sha256:
|
|
1347
|
+
hash: sha256:1754430439419493ac7b1c5a6c3473bfafb08a6f2bdb94826188f3dfcfb86849
|
|
1348
1348
|
type: data
|
|
1349
|
-
size:
|
|
1349
|
+
size: 547841
|
|
1350
1350
|
- path: data/learned-patterns.yaml
|
|
1351
1351
|
hash: sha256:1a4cd045c087b9dfd7046ff1464a9d2edb85fba77cf0b6fba14f4bb9004c741e
|
|
1352
1352
|
type: data
|
|
@@ -1480,17 +1480,17 @@ files:
|
|
|
1480
1480
|
type: agent
|
|
1481
1481
|
size: 23745
|
|
1482
1482
|
- path: development/agents/snps-orqx.md
|
|
1483
|
-
hash: sha256:
|
|
1483
|
+
hash: sha256:313fd53fcb43bec1a0e0e1dc90867c6a6b3643e08a9a41e32e2fa86e090ce8ae
|
|
1484
1484
|
type: agent
|
|
1485
|
-
size:
|
|
1485
|
+
size: 42694
|
|
1486
1486
|
- path: development/agents/sprint-lead.md
|
|
1487
1487
|
hash: sha256:572289b770cdbb0cff9ae2de4b2d19c38ce814fe978df397aa2794297f562c91
|
|
1488
1488
|
type: agent
|
|
1489
1489
|
size: 14441
|
|
1490
1490
|
- path: development/agents/squad-creator.md
|
|
1491
|
-
hash: sha256:
|
|
1491
|
+
hash: sha256:80fc6cdfd6d7102803a5c477d576cbfadf96990ffd8f6c7246047603f2a80d33
|
|
1492
1492
|
type: agent
|
|
1493
|
-
size:
|
|
1493
|
+
size: 18180
|
|
1494
1494
|
- path: development/agents/ux-design-expert.md
|
|
1495
1495
|
hash: sha256:ef221c2ce9dc7b808feab65d04c80e5d0186fe3343e079404d761b1d9ff056a2
|
|
1496
1496
|
type: agent
|
|
@@ -2708,9 +2708,13 @@ files:
|
|
|
2708
2708
|
type: template
|
|
2709
2709
|
size: 2048
|
|
2710
2710
|
- path: development/templates/chrome-brain/rules/chrome-brain-autoload.md
|
|
2711
|
-
hash: sha256:
|
|
2711
|
+
hash: sha256:ff4eb0dfda916b7441e020ff722336c46d87ef47234f08cb2fef009cb5aaa467
|
|
2712
2712
|
type: template
|
|
2713
|
-
size:
|
|
2713
|
+
size: 2540
|
|
2714
|
+
- path: development/templates/chrome-brain/scripts/chrome-brain-log.cjs
|
|
2715
|
+
hash: sha256:baddce09225c16076a67afc0029e89dafcf9dcebbcef39a51c53dd9e63390710
|
|
2716
|
+
type: template
|
|
2717
|
+
size: 2268
|
|
2714
2718
|
- path: development/templates/chrome-brain/scripts/chrome-brain-log.sh
|
|
2715
2719
|
hash: sha256:d72c54d9b67745fac667f1fb05387f11b9bfc55b8bebb64cca67c9a44171d436
|
|
2716
2720
|
type: template
|
|
@@ -2719,6 +2723,10 @@ files:
|
|
|
2719
2723
|
hash: sha256:5907538f71757df0954533507e5efac4ebb4c18f92fb93cd305b61fa1c379809
|
|
2720
2724
|
type: template
|
|
2721
2725
|
size: 7207
|
|
2726
|
+
- path: development/templates/chrome-brain/scripts/chrome-ensure.cjs
|
|
2727
|
+
hash: sha256:7ff77f28a86fa655e89f292b6b5ebe51a20befb4faf7be99d221b338388472ba
|
|
2728
|
+
type: template
|
|
2729
|
+
size: 3578
|
|
2722
2730
|
- path: development/templates/chrome-brain/scripts/chrome-ensure.sh
|
|
2723
2731
|
hash: sha256:eab2018b622c8550381c6d4555f4496595859b98401dff63a3036abf8433ebfa
|
|
2724
2732
|
type: template
|
|
@@ -4187,18 +4195,22 @@ files:
|
|
|
4187
4195
|
hash: sha256:3f8bb48230df89cf987330f7c9aff19edbc35a65a9cbff799e28480155dd8919
|
|
4188
4196
|
type: template
|
|
4189
4197
|
size: 6764
|
|
4198
|
+
- path: product/templates/statusline/agent-badges.json
|
|
4199
|
+
hash: sha256:9a926dc37107a34880aef351f540f3425f1ec60e77870f7f319980ee53576ead
|
|
4200
|
+
type: template
|
|
4201
|
+
size: 18475
|
|
4190
4202
|
- path: product/templates/statusline/statusline-script.js
|
|
4191
|
-
hash: sha256:
|
|
4203
|
+
hash: sha256:5860eecf6b02701666ff42f858bf25e3524f124210ef70d2b5243b829e893bb8
|
|
4192
4204
|
type: template
|
|
4193
|
-
size:
|
|
4205
|
+
size: 8748
|
|
4194
4206
|
- path: product/templates/statusline/track-agent-clear.cjs
|
|
4195
4207
|
hash: sha256:3cda606de2463374e60440ba6cae9ca98e39b782b19c6ae39aa7569a1b211f09
|
|
4196
4208
|
type: template
|
|
4197
4209
|
size: 2137
|
|
4198
4210
|
- path: product/templates/statusline/track-agent.cjs
|
|
4199
|
-
hash: sha256:
|
|
4211
|
+
hash: sha256:0194c9a5750ed9e7a11fb5de21060021f64636f21e8b91039543abccaf6a4c86
|
|
4200
4212
|
type: template
|
|
4201
|
-
size:
|
|
4213
|
+
size: 10990
|
|
4202
4214
|
- path: product/templates/story-tmpl.yaml
|
|
4203
4215
|
hash: sha256:43a050de5ef51f53f890fd20f77ac567b297a40597f467b3bc6d00c8193c7fa6
|
|
4204
4216
|
type: template
|