auroq-os 2.2.3 → 2.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.
Files changed (212) hide show
  1. package/.auroq-core/constitution.md +11 -151
  2. package/.auroq-core/core-config.yaml +1 -1
  3. package/.auroq-core/dna-operacional.md +9 -131
  4. package/.claude/CLAUDE.md +5 -466
  5. package/.claude/commands/AuroqOS/agents/ops.md +4 -1785
  6. package/.claude/commands/auroq-clone-forge.md +3 -3
  7. package/.claude/commands/auroq-companion.md +3 -3
  8. package/.claude/commands/auroq-consultor.md +4 -4
  9. package/.claude/commands/auroq-etlmaker.md +3 -3
  10. package/.claude/commands/auroq-mind-forge.md +4 -4
  11. package/.claude/commands/auroq-squad-forge.md +3 -3
  12. package/.claude/commands/auroq-worker-forge.md +4 -4
  13. package/.claude/output-styles/direto.md +19 -0
  14. package/.claude/rules/evolucao-incremental.md +8 -20
  15. package/.claude/rules/mcp-usage.md +10 -18
  16. package/.claude/rules/operacao-autonoma.md +29 -0
  17. package/.claude/settings.json +1 -0
  18. package/.gitignore +4 -0
  19. package/AGENTS.md +10 -119
  20. package/README.md +6 -5
  21. package/bin/auroq-os.js +61 -15
  22. package/lib/auth.js +6 -6
  23. package/lib/credentials.js +13 -1
  24. package/package.json +18 -8
  25. package/scripts/postpack-casca.mjs +32 -0
  26. package/scripts/prepack-casca.mjs +47 -0
  27. package/scripts/validate-hybrid.mjs +2 -0
  28. package/.auroq-core/development/sistema-gestao-projetos.md +0 -193
  29. package/.auroq-core/development/sistema-memoria.md +0 -157
  30. package/agents/clone-forge/.state.json +0 -7
  31. package/agents/clone-forge/README.md +0 -81
  32. package/agents/clone-forge/agents/clone-forge-chief.md +0 -885
  33. package/agents/clone-forge/agents/cognitive-motor.md +0 -384
  34. package/agents/clone-forge/agents/innerlens.md +0 -453
  35. package/agents/clone-forge/checklists/clone-forge-validation.md +0 -160
  36. package/agents/clone-forge/checklists/driver-quality-gate.md +0 -79
  37. package/agents/clone-forge/checklists/miu-quality-gate.md +0 -86
  38. package/agents/clone-forge/checklists/psychometric-quality-gate.md +0 -76
  39. package/agents/clone-forge/checklists/smoke-test-clone.md +0 -313
  40. package/agents/clone-forge/config.yaml +0 -221
  41. package/agents/clone-forge/data/clone-anti-patterns.yaml +0 -148
  42. package/agents/clone-forge/data/clone-forge-kb.md +0 -106
  43. package/agents/clone-forge/data/clone-validation.yaml +0 -190
  44. package/agents/clone-forge/data/driver-catalog.yaml +0 -2595
  45. package/agents/clone-forge/data/driver-relationship-templates.yaml +0 -242
  46. package/agents/clone-forge/data/miu-classification-taxonomy.yaml +0 -273
  47. package/agents/clone-forge/data/output-examples.yaml +0 -102
  48. package/agents/clone-forge/data/poc-schema.yaml +0 -320
  49. package/agents/clone-forge/data/psychometric-systems.yaml +0 -1514
  50. package/agents/clone-forge/data/source-tiers.yaml +0 -119
  51. package/agents/clone-forge/data/source-type-handlers.yaml +0 -282
  52. package/agents/clone-forge/tasks/aggregate-profile.md +0 -519
  53. package/agents/clone-forge/tasks/clone-review.md +0 -105
  54. package/agents/clone-forge/tasks/collect-and-merge-sources.md +0 -621
  55. package/agents/clone-forge/tasks/deep-interview.md +0 -737
  56. package/agents/clone-forge/tasks/extract-dna-enriched.md +0 -371
  57. package/agents/clone-forge/tasks/extract-mius.md +0 -1018
  58. package/agents/clone-forge/tasks/extract-thinking-dna.md +0 -654
  59. package/agents/clone-forge/tasks/extract-voice-dna.md +0 -620
  60. package/agents/clone-forge/tasks/fidelity-score.md +0 -109
  61. package/agents/clone-forge/tasks/gap-analysis-questionnaire.md +0 -517
  62. package/agents/clone-forge/tasks/generate-agent-from-profile.md +0 -874
  63. package/agents/clone-forge/tasks/infer-drivers.md +0 -431
  64. package/agents/clone-forge/tasks/ingest-local-content.md +0 -578
  65. package/agents/clone-forge/tasks/map-psychometrics.md +0 -459
  66. package/agents/clone-forge/tasks/start.md +0 -805
  67. package/agents/clone-forge/tasks/validate-clone-forge.md +0 -743
  68. package/agents/clone-forge/tasks/validate-clone.md +0 -130
  69. package/agents/clone-forge/templates/driver-profile-tmpl.yaml +0 -137
  70. package/agents/clone-forge/templates/manifest-tmpl.yaml +0 -161
  71. package/agents/clone-forge/templates/miu-tmpl.yaml +0 -109
  72. package/agents/clone-forge/templates/poc-module-tmpl.yaml +0 -259
  73. package/agents/clone-forge/templates/quality-dashboard-360-tmpl.md +0 -218
  74. package/agents/clone-forge/workflows/wf-clone-forge-full.yaml +0 -678
  75. package/agents/clone-forge/workflows/wf-clone-forge-quick.yaml +0 -320
  76. package/agents/companion/agents/companion.md +0 -327
  77. package/agents/companion/knowledge/arcane-method.md +0 -247
  78. package/agents/companion/knowledge/companion-foundation.md +0 -57
  79. package/agents/companion/knowledge/modus-operandi.md +0 -161
  80. package/agents/companion/knowledge/system-guide.md +0 -380
  81. package/agents/companion/tasks/new-project.md +0 -111
  82. package/agents/companion/tasks/save-memory.md +0 -73
  83. package/agents/companion/tasks/start.md +0 -159
  84. package/agents/companion/tasks/weekly-review.md +0 -82
  85. package/agents/consultor/agents/consultor.md +0 -185
  86. package/agents/consultor/knowledge/01-arquitetura-e-engenharia.md +0 -157
  87. package/agents/consultor/knowledge/02-operar-o-negocio.md +0 -136
  88. package/agents/consultor/knowledge/03-os-8-agentes.md +0 -96
  89. package/agents/consultor/knowledge/04-filosofia-e-didatica.md +0 -131
  90. package/agents/consultor/knowledge/05-fazer-no-dia-a-dia.md +0 -99
  91. package/agents/consultor/knowledge/06-quando-criar-agente-ou-squad.md +0 -109
  92. package/agents/consultor/knowledge/07-logicas-de-uso-e-higiene.md +0 -87
  93. package/agents/consultor/tasks/start.md +0 -26
  94. package/agents/etlmaker/agents/analyst.md +0 -189
  95. package/agents/etlmaker/agents/architect.md +0 -173
  96. package/agents/etlmaker/agents/auditor.md +0 -217
  97. package/agents/etlmaker/agents/composer.md +0 -201
  98. package/agents/etlmaker/agents/etl-chief.md +0 -259
  99. package/agents/etlmaker/agents/extractor.md +0 -184
  100. package/agents/etlmaker/data/archive/extraction-lenses.yaml +0 -178
  101. package/agents/etlmaker/data/archive/miu-types.yaml +0 -128
  102. package/agents/etlmaker/data/etlmaker-kb.md +0 -175
  103. package/agents/etlmaker/data/quality-gates.yaml +0 -208
  104. package/agents/etlmaker/skill.md +0 -230
  105. package/agents/etlmaker/squad.yaml +0 -182
  106. package/agents/etlmaker/tasks/compose-volume.md +0 -292
  107. package/agents/etlmaker/tasks/ingest-sources.md +0 -157
  108. package/agents/etlmaker/tasks/integrate-package.md +0 -357
  109. package/agents/etlmaker/tasks/map-territory.md +0 -394
  110. package/agents/etlmaker/tasks/start.md +0 -225
  111. package/agents/etlmaker/tasks/validate-final.md +0 -471
  112. package/agents/etlmaker/templates/kb-template.md +0 -180
  113. package/agents/etlmaker/workflows/wf-knowledge-etl.yaml +0 -371
  114. package/agents/mind-forge/README.md +0 -64
  115. package/agents/mind-forge/agents/forge-chief.md +0 -293
  116. package/agents/mind-forge/agents/knowledge-miner.md +0 -280
  117. package/agents/mind-forge/agents/mind-smith.md +0 -306
  118. package/agents/mind-forge/checklists/analysis-completeness.md +0 -34
  119. package/agents/mind-forge/checklists/mind-quality.md +0 -55
  120. package/agents/mind-forge/data/extraction-lenses.yaml +0 -229
  121. package/agents/mind-forge/data/forge-kb.md +0 -182
  122. package/agents/mind-forge/data/kf-classification.yaml +0 -307
  123. package/agents/mind-forge/skill.md +0 -7
  124. package/agents/mind-forge/squad.yaml +0 -167
  125. package/agents/mind-forge/tasks/analyze-knowledge.md +0 -278
  126. package/agents/mind-forge/tasks/forge-mind.md +0 -199
  127. package/agents/mind-forge/tasks/ingest-sources.md +0 -130
  128. package/agents/mind-forge/tasks/playback-validate.md +0 -146
  129. package/agents/mind-forge/tasks/start.md +0 -137
  130. package/agents/mind-forge/tasks/validate-mind.md +0 -237
  131. package/agents/mind-forge/templates/agent-tmpl.md +0 -124
  132. package/agents/mind-forge/templates/config-tmpl.yaml +0 -17
  133. package/agents/mind-forge/templates/kb-tmpl.md +0 -66
  134. package/agents/mind-forge/workflows/wf-mind-forge.yaml +0 -168
  135. package/agents/squad-forge/README.md +0 -110
  136. package/agents/squad-forge/agents/forge-chief.md +0 -297
  137. package/agents/squad-forge/agents/forge-smith.md +0 -535
  138. package/agents/squad-forge/agents/process-archaeologist.md +0 -398
  139. package/agents/squad-forge/checklists/architecture-coherence.md +0 -28
  140. package/agents/squad-forge/checklists/extraction-completeness.md +0 -48
  141. package/agents/squad-forge/checklists/nuclear-structure-validation.md +0 -61
  142. package/agents/squad-forge/checklists/squad-operational.md +0 -24
  143. package/agents/squad-forge/checklists/user-validation.md +0 -23
  144. package/agents/squad-forge/data/executor-mapping-guide.yaml +0 -135
  145. package/agents/squad-forge/data/extraction-lenses.yaml +0 -330
  146. package/agents/squad-forge/data/forge-kb.md +0 -248
  147. package/agents/squad-forge/data/pu-classification.yaml +0 -229
  148. package/agents/squad-forge/data/quality-thresholds.yaml +0 -259
  149. package/agents/squad-forge/squad.yaml +0 -175
  150. package/agents/squad-forge/tasks/architect-squad.md +0 -398
  151. package/agents/squad-forge/tasks/assemble-squad.md +0 -831
  152. package/agents/squad-forge/tasks/extract-process.md +0 -378
  153. package/agents/squad-forge/tasks/fix-squad.md +0 -334
  154. package/agents/squad-forge/tasks/generate-prd.md +0 -265
  155. package/agents/squad-forge/tasks/generate-stories.md +0 -223
  156. package/agents/squad-forge/tasks/playback-validate.md +0 -263
  157. package/agents/squad-forge/tasks/rebuild-squad.md +0 -236
  158. package/agents/squad-forge/tasks/self-test.md +0 -237
  159. package/agents/squad-forge/tasks/start.md +0 -247
  160. package/agents/squad-forge/tasks/update-squad.md +0 -262
  161. package/agents/squad-forge/tasks/validate-squad.md +0 -377
  162. package/agents/squad-forge/templates/process-map-tmpl.yaml +0 -109
  163. package/agents/squad-forge/templates/pu-tmpl.yaml +0 -71
  164. package/agents/squad-forge/templates/squad-blueprint-tmpl.yaml +0 -113
  165. package/agents/squad-forge/workflows/wf-squad-forge.yaml +0 -300
  166. package/agents/worker-forge/README.md +0 -58
  167. package/agents/worker-forge/agents/knowledge-curator.md +0 -170
  168. package/agents/worker-forge/agents/role-designer.md +0 -150
  169. package/agents/worker-forge/agents/worker-chief.md +0 -273
  170. package/agents/worker-forge/agents/worker-smith.md +0 -258
  171. package/agents/worker-forge/data/worker-forge-kb.md +0 -264
  172. package/agents/worker-forge/knowledge/autonomous-agent-architectures.md +0 -275
  173. package/agents/worker-forge/knowledge/delegation-competency-performance.md +0 -256
  174. package/agents/worker-forge/knowledge/job-design-business-systems.md +0 -296
  175. package/agents/worker-forge/knowledge/knowledge-management-improvement.md +0 -242
  176. package/agents/worker-forge/skill.md +0 -7
  177. package/agents/worker-forge/squad.yaml +0 -101
  178. package/agents/worker-forge/tasks/assemble-worker.md +0 -239
  179. package/agents/worker-forge/tasks/discover-needs.md +0 -219
  180. package/agents/worker-forge/tasks/playback-validate.md +0 -126
  181. package/agents/worker-forge/tasks/propose-worker.md +0 -112
  182. package/agents/worker-forge/tasks/research-domain.md +0 -165
  183. package/agents/worker-forge/tasks/start.md +0 -67
  184. package/agents/worker-forge/tasks/validate-worker.md +0 -155
  185. package/agents/worker-forge/workflows/wf-worker-forge.yaml +0 -96
  186. package/docs/stories/AUROQ-2.1.0-hybrid-runtime.md +0 -64
  187. package/tests/installer-hybrid.test.mjs +0 -66
  188. package/tests/onepassword.test.mjs +0 -54
  189. package/tests/sync-codex-skills.test.mjs +0 -88
  190. /package/{agents → seeds/agents}/companion/data/contexto-dinamico.md +0 -0
  191. /package/{agents → seeds/agents}/companion/data/demandas-backlog.md +0 -0
  192. /package/{agents → seeds/agents}/companion/data/log-decisoes.md +0 -0
  193. /package/{agents → seeds/agents}/companion/data/padroes-observados.md +0 -0
  194. /package/{agents → seeds/agents}/companion/knowledge/expert-essencial.md +0 -0
  195. /package/{business → seeds/business}/campanhas/_template/BRIEFING.md +0 -0
  196. /package/{business → seeds/business}/campanhas/_template/CHECKLIST.md +0 -0
  197. /package/{business → seeds/business}/campanhas/_template/DIARIO.md +0 -0
  198. /package/{business → seeds/business}/campanhas/_template/RETROVISOR.md +0 -0
  199. /package/{business → seeds/business}/cockpit.md +0 -0
  200. /package/{business → seeds/business}/templates/tracker-template.md +0 -0
  201. /package/{docs → seeds/docs}/knowledge/expert-business/criacoes/.gitkeep +0 -0
  202. /package/{docs → seeds/docs}/knowledge/expert-business/posicionamento/.gitkeep +0 -0
  203. /package/{docs → seeds/docs}/knowledge/expert-business/posicionamento.md +0 -0
  204. /package/{docs → seeds/docs}/knowledge/expert-business/produto/.gitkeep +0 -0
  205. /package/{docs → seeds/docs}/knowledge/expert-business/publico-alvo.md +0 -0
  206. /package/{docs → seeds/docs}/knowledge/expert-mind/assessments/.gitkeep +0 -0
  207. /package/{docs → seeds/docs}/knowledge/expert-mind/historia.md +0 -0
  208. /package/{docs → seeds/docs}/knowledge/expert-mind/identidade/.gitkeep +0 -0
  209. /package/{docs → seeds/docs}/knowledge/expert-mind/identidade.md +0 -0
  210. /package/{docs → seeds/docs}/knowledge/expert-mind/proposito/.gitkeep +0 -0
  211. /package/{docs → seeds/docs}/knowledge/expert-mind/tom-de-voz.md +0 -0
  212. /package/{docs → seeds/docs}/knowledge/expert-mind/valores.md +0 -0
@@ -1,1018 +0,0 @@
1
- # Task: Extracao de MIUs
2
-
3
- **Task ID:** clone-forge/extract-mius
4
- **Version:** 2.0.0
5
- **Status:** Production Ready
6
- **Created:** 2026-03-02
7
- **Category:** Semantic Extraction Pipeline
8
- **Execution Type:** Autonomous
9
-
10
- ---
11
-
12
- ## Executive Summary
13
-
14
- Extrai MIUs (Minimum Inference Units) de todas as fontes normalizadas na Fase 1 usando chunking semantico com zero-inference. Cada MIU e a menor unidade semantica que carrega significado autonomo sobre o pensamento, comportamento ou metodo de uma pessoa. O @innerlens processa fontes em batch, segmenta em chunks semanticos, extrai MIUs candidatos, classifica em 5 categorias (BEHAVIORAL, METHODOLOGICAL, STORYTELLING, OPINION, TECHNICAL), aplica sub-category tags da taxonomia, registra proveniencia completa, valida contra 6 regras de rejeicao, fragmenta MIUs compostos e gera 4 outputs estruturados. Quality gate QG-002 MIU_QUALITY bloqueia o pipeline se a qualidade for insuficiente.
15
-
16
- **Pipeline Position:** Phase 2 (apos Source Collection, antes de DNA Extraction)
17
- **Success Definition:** >= 50 MIUs validos, cobertura >= 3 categorias, rejection rate <= 30%, proveniencia 100%
18
- **Blocking Gate:** QG-002 (MIU Quality Gate)
19
-
20
- ---
21
-
22
- ## Purpose
23
-
24
- Fontes brutas -- mesmo normalizadas em markdown -- sao inuteis para construir um clone. Um video de 1 hora contem talvez 20 minutos de conteudo util misturado com 40 minutos de contexto, repeticao e filler. Uma entrevista de 2 horas contem centenas de unidades semanticas enterradas em conversa. A extracao de MIUs e o processo que separa sinal de ruido, transformando horas de conteudo bruto em unidades atomicas de conhecimento que alimentam o resto do pipeline.
25
-
26
- Sem MIUs de qualidade, tudo que vem depois (DNA, drivers, psicometria, perfil) e construido sobre areia. O MIU e o atomo do clone -- se o atomo esta errado, a molecula esta errada.
27
-
28
- O @innerlens opera sob o principio de ZERO INFERENCE: extrai o que ESTA la, nao o que PODERIA estar. Se precisa interpretar, marca [INFERRED] e reduz confianca. Se e generico, rejeita. Se nao tem proveniencia, nao existe. Se cobre multiplos conceitos, divide.
29
-
30
- Os 4 outputs desta task alimentam:
31
- 1. **Phase 3** (DNA Extraction) -- MIUs sao a materia-prima para extrair Voice DNA e Thinking DNA
32
- 2. **Phase 4** (Driver Inference) -- MIUs sao a evidencia para inferir drivers psicologicos
33
- 3. **Phase 6** (Profile Aggregation) -- MIUs enriquecem modulos de Repertoire e Operational
34
- 4. **Phase 7** (Validation) -- MIUs informam smoke tests de consistencia
35
-
36
- ---
37
-
38
- ## Execution Type
39
-
40
- **Autonomous** -- o @innerlens executa a extracao completa sem intervencao humana, seguindo o Protocol 1 (Extraction Pipeline) definido em sua agent definition.
41
-
42
- O agente carrega fontes, taxonomia e templates, executa chunking/classificacao/validacao/fragmentacao, e entrega 4 outputs estruturados. Humano valida no final apenas se necessario.
43
-
44
- **Runtime Estimado:** 1-2 horas (depende do volume de fontes)
45
-
46
- ---
47
-
48
- ## Inputs
49
-
50
- ### Obrigatorios
51
-
52
- | Input | Path | Descricao |
53
- |-------|------|-----------|
54
- | Sources inventory | `minds/{slug}/01-sources/sources-inventory.yaml` | Inventario completo de fontes validadas (QG-001 PASS) |
55
- | Raw sources | `minds/{slug}/01-sources/raw/*.md` | Conteudo normalizado em markdown |
56
- | Transcripts | `minds/{slug}/01-sources/transcripts/*.md` | Transcricoes de audio/video normalizadas |
57
- | Interviews | `minds/{slug}/01-sources/interview/*.md` | Entrevistas profundas transcritas |
58
- | MIU taxonomy | `agents/clone-forge/data/miu-classification-taxonomy.yaml` | Fonte de verdade para categorias, tags, validacao e rejeicao |
59
- | MIU template | `agents/clone-forge/templates/miu-tmpl.yaml` | Template de output para MIUs validos e rejeitados |
60
-
61
- ### Opcionais
62
-
63
- | Input | Path | Descricao |
64
- |-------|------|-----------|
65
- | Extraction config | Inline | batch_size (default 3), min_miu_words (20), max_miu_words (300), confidence_floor (0.3), dedup_threshold (0.8) |
66
- | Previous MIUs | `minds/{slug}/02-extraction/mius.yaml` | Para re-run incremental -- extrai apenas fontes novas |
67
-
68
- ---
69
-
70
- ## Precondicoes
71
-
72
- - [ ] QG-001 SOURCE_QUALITY: PASS (fontes validadas e inventariadas)
73
- - [ ] sources-inventory.yaml existe com pelo menos 3 fontes
74
- - [ ] Fontes normalizadas existem nos paths listados no inventario
75
- - [ ] `data/miu-classification-taxonomy.yaml` acessivel e valido
76
- - [ ] `templates/miu-tmpl.yaml` acessivel e valido
77
- - [ ] Diretorio `minds/{slug}/02-extraction/` existe (ou sera criado)
78
- - [ ] Fase 1 (Source Collection) completa
79
- - [ ] Fase 1.5 (Deep Interview) completada OU explicitamente pulada
80
-
81
- ---
82
-
83
- ## Steps
84
-
85
- ### Step 1: Carregar Fontes Validadas do sources-inventory.yaml
86
-
87
- ```yaml
88
- action: load
89
- source: minds/{slug}/01-sources/sources-inventory.yaml
90
- validate:
91
- - file exists
92
- - qg_001_result == "PASS"
93
- - sources[].source_id presente
94
- - sources[].path presente
95
- - sources[].tier in [0, 1, 2, 3]
96
- stats_to_log:
97
- - total_sources
98
- - sources_per_tier
99
- - total_estimated_words
100
- - source_types (raw, transcript, interview)
101
- ```
102
-
103
- **Atividade do Agent (@innerlens):**
104
-
105
- 1. Ler `sources-inventory.yaml` COMPLETO
106
- 2. Validar que QG-001 passou (campo `quality_gate.result == "PASS"`)
107
- 3. Listar todas as fontes com source_id, path, tier, type
108
- 4. Ordenar por tier (Tier 0 primeiro -- maior qualidade primeiro)
109
- 5. Calcular volume total estimado (word count)
110
- 6. Planejar batches de processamento:
111
-
112
- ```yaml
113
- processing_plan:
114
- total_sources: N
115
- total_estimated_words: XXXXX
116
- batch_size: 3 # fontes por batch (evita limite de contexto)
117
- total_batches: ceil(N / 3)
118
- order: "tier_desc" # Tier 0 primeiro
119
- mode: "full" # ou "incremental" se previous_mius existe
120
- ```
121
-
122
- 7. Se modo incremental: identificar fontes ja processadas e pular
123
-
124
- **Thresholds:**
125
- - >= 10 fontes: ideal, prosseguir normalmente
126
- - 3-9 fontes: WARN -- "Volume limitado, extracao possivel mas cobertura comprometida"
127
- - < 3 fontes: BLOCK -- "Fontes insuficientes. Voltar a Fase 1 ou buscar mais fontes."
128
-
129
- 8. Carregar tambem `data/miu-classification-taxonomy.yaml` COMPLETO:
130
- - 5 categorias primarias
131
- - 12 tags secundarias
132
- - Regras de validacao (campos obrigatorios, ranges de confianca)
133
- - 6 regras de rejeicao
134
- - Metricas de qualidade (extraction rate, distribuicao, proveniencia)
135
-
136
- **Checkpoint:** Fontes mapeadas. Taxonomia carregada. Batches planejados.
137
-
138
- ---
139
-
140
- ### Step 2: Segmentar cada Fonte em Chunks Semanticos
141
-
142
- **Atividade do Agent (@innerlens):**
143
-
144
- Para cada fonte no batch, processar sequencialmente:
145
-
146
- 1. Ler o arquivo markdown COMPLETO (nunca leitura parcial)
147
- 2. Verificar frontmatter: source_id, type, tier presentes
148
- 3. Registrar metadados: word_count, tipo, tier
149
-
150
- 4. Identificar fronteiras semanticas baseado em:
151
- - **Mudanca de topico:** novo assunto, nova ideia, nova tematica
152
- - **Mudanca de tipo de conteudo:** historia -> opiniao -> metodo -> dado tecnico
153
- - **Marcadores linguisticos:** "por outro lado", "outro ponto", "agora sobre", "voltando ao"
154
- - **Pausas longas em transcricoes:** indicadas por timestamps com gap > 5 segundos
155
- - **Mudanca de interlocutor:** em entrevistas/dialogos
156
- - **Mudanca de secao:** headers, bullet points, transicoes
157
-
158
- 5. Marcar cada chunk com posicao precisa:
159
- - Pagina (se texto paginado)
160
- - Timestamp minuto:segundo (se audio/video)
161
- - Paragrafo (se texto corrido)
162
- - Contexto breve ("resposta sobre monetizacao", "historia de origem")
163
-
164
- 6. Se chunk > 300 palavras: subdividir em sub-chunks mantendo coerencia semantica
165
- 7. Se chunk < 20 palavras: avaliar se e significativo ou apenas filler
166
-
167
- ```yaml
168
- chunk_example:
169
- chunk_id: "CHK-SRC-001-014"
170
- source_id: "SRC-001"
171
- position:
172
- start_paragraph: 14
173
- end_paragraph: 16
174
- timestamp: "14:32-15:47"
175
- context: "explicando metodo PMI"
176
- word_count: 187
177
- type_hint: "METHODOLOGICAL" # sugestao inicial
178
- ```
179
-
180
- **Checkpoint:** Fonte segmentada em N chunks. Cada chunk com posicao registrada.
181
-
182
- ---
183
-
184
- ### Step 3: Extrair MIUs de cada Chunk
185
-
186
- **Atividade do Agent (@innerlens):**
187
-
188
- Para cada chunk identificado no Step 2:
189
-
190
- 1. **Extrair a unidade semantica central** -- o que este chunk DIZ de fato? Qual e o nucleo de significado?
191
-
192
- 2. **Verificar atomicidade:** contem mais de um conceito independente?
193
- - Se sim: dividir em 2+ MIUs candidatos (cada conceito vira um MIU)
194
- - Se nao: manter como MIU unico
195
-
196
- 3. **Verificar auto-suficiencia:** o MIU faz sentido sozinho sem contexto externo?
197
- - Se sim: prosseguir
198
- - Se nao: expandir para incluir contexto minimo OU rejeitar
199
-
200
- 4. **Formatar como MIU candidato:**
201
-
202
- ```yaml
203
- - id: "MIU-{seq:4}"
204
- content: |
205
- {texto extraido -- 20-300 palavras, auto-contido, sem contexto externo necessario}
206
- category: "PENDING"
207
- source_id: "{fonte}"
208
- location:
209
- page: null
210
- timestamp: "14:32"
211
- paragraph: 3
212
- context: "resposta sobre monetizacao"
213
- confidence: 0.0 # pendente -- sera atribuida no Step 3 continuacao
214
- tags: []
215
- fragments: []
216
- related_mius: []
217
- note: ""
218
- ```
219
-
220
- 5. **Principio zero-inference em acao:**
221
-
222
- | Correto (extracao) | Errado (inferencia) |
223
- |---------------------|---------------------|
224
- | "O expert diz que prefere verdade a validacao vazia" | "O expert provavelmente valoriza honestidade porque teve experiencias ruins" |
225
- | "Usa metodo PMI: Proposito + Marketing + IA" | "Provavelmente criou o PMI por influencia de frameworks ageis" |
226
- | "Rejeita reunioes sem pauta definida" | "Deve ter trauma de reunioes improdutivas" |
227
-
228
- Se a fonte NAO diz o PORQUE, o MIU NAO inclui o porque.
229
-
230
- **Checkpoint:** N MIUs candidatos extraidos do batch.
231
-
232
- ---
233
-
234
- ### Step 4: Classificar cada MIU em 1 das 5 Categorias
235
-
236
- **Atividade do Agent (@innerlens):**
237
-
238
- Para cada MIU candidato, determinar a categoria primaria usando pergunta-chave:
239
-
240
- | Categoria | Pergunta-Chave | Indicadores |
241
- |-----------|---------------|-------------|
242
- | BEHAVIORAL | "Isso descreve algo que a pessoa FAZ repetidamente?" | Padroes observaveis, habitos, reacoes, tendencias recorrentes |
243
- | METHODOLOGICAL | "Isso descreve COMO a pessoa resolve problemas?" | Frameworks, processos, sequencias, regras SE/ENTAO |
244
- | STORYTELLING | "Isso e uma historia ou exemplo concreto?" | Narrativa com inicio/meio/fim, caso de uso, experiencia pessoal |
245
- | OPINION | "Isso e algo que a pessoa ACREDITA ou REJEITA?" | Valores, posicionamentos, rejeicoes explicitas, crencas |
246
- | TECHNICAL | "Isso e conhecimento tecnico especifico?" | Dados, metricas, ferramentas, tecnicas, numeros concretos |
247
-
248
- **Regras de desempate:**
249
- - BEHAVIORAL vs OPINION: verificar se e acao observavel (BEHAVIORAL) ou crenca declarada (OPINION)
250
- - METHODOLOGICAL vs TECHNICAL: verificar se e processo/framework (METH) ou dado pontual/ferramenta (TECH)
251
- - STORYTELLING vs qualquer outra: se e narrativa com inicio/meio/fim, e STORYTELLING
252
- - Duvida real: usar a categoria com maior `weight_for_profile` na taxonomia (`feeds_into`)
253
-
254
- **Regra absoluta:** Um MIU encaixa em EXATAMENTE 1 categoria primaria. Se encaixa em duas, a dominante vence.
255
-
256
- **Distribuicao ideal (referencia da taxonomia):**
257
-
258
- | Categoria | Target |
259
- |-----------|--------|
260
- | BEHAVIORAL | 20-30% |
261
- | METHODOLOGICAL | 20-30% |
262
- | STORYTELLING | 15-25% |
263
- | OPINION | 15-25% |
264
- | TECHNICAL | 10-20% |
265
-
266
- **Checkpoint:** Todos os MIUs candidatos classificados.
267
-
268
- ---
269
-
270
- ### Step 5: Aplicar Sub-category Tags da Taxonomia
271
-
272
- **Atividade do Agent (@innerlens):**
273
-
274
- Para cada MIU classificado, aplicar 0-N tags secundarias conforme taxonomia. Validar compatibilidade tag/categoria usando o campo `applies_to`:
275
-
276
- | Tag | Applies To | Quando Aplicar |
277
- |-----|-----------|---------------|
278
- | IDENTITY | BEHAVIORAL, OPINION, STORYTELLING | Revela quem a pessoa E (nao o que faz) |
279
- | VALUES | OPINION, BEHAVIORAL | Valor explicito ou implicito na fala |
280
- | REJECTION | OPINION, BEHAVIORAL | Algo que a pessoa rejeita, evita, recusa explicitamente |
281
- | VOICE | BEHAVIORAL, STORYTELLING | Padrao de comunicacao, linguagem, tom |
282
- | METAPHOR | STORYTELLING, OPINION | Usa metafora ou analogia para explicar |
283
- | HUMOR | BEHAVIORAL, STORYTELLING | Uso de humor (auto-depreciativo, ironico, etc) |
284
- | HEURISTIC | METHODOLOGICAL, BEHAVIORAL | Regra de bolso para decisao rapida |
285
- | FRAMEWORK | METHODOLOGICAL, TECHNICAL | Modelo estruturado com passos/camadas |
286
- | DECISION | METHODOLOGICAL, BEHAVIORAL | Revela como decide ou prioriza |
287
- | TACIT | BEHAVIORAL, METHODOLOGICAL, OPINION | Conhecimento tacito (faz mas nao articula) |
288
- | CONTRADICTION | OPINION, BEHAVIORAL | Contradiz algo dito em outro contexto |
289
- | OBSESSION | OPINION, BEHAVIORAL, STORYTELLING | Tema que aparece repetidamente |
290
-
291
- **Validacao de compatibilidade:**
292
- - Se tag.applies_to NAO contem a categoria do MIU: tag invalida, nao aplicar
293
- - Exemplo: FRAMEWORK so aplica a METHODOLOGICAL e TECHNICAL -- nao aplicar a BEHAVIORAL
294
-
295
- ```yaml
296
- miu_with_tags:
297
- id: "MIU-0023"
298
- category: "OPINION"
299
- tags: [VALUES, REJECTION] # Validos: ambos applies_to contem OPINION
300
- ```
301
-
302
- **Checkpoint:** Tags aplicadas e validadas contra taxonomia.
303
-
304
- ---
305
-
306
- ### Step 6: Registrar Proveniencia de cada MIU
307
-
308
- **Atividade do Agent (@innerlens):**
309
-
310
- Para CADA MIU valido, registrar proveniencia completa:
311
-
312
- ```yaml
313
- provenance:
314
- source_id: "SRC-001" # ID da fonte no inventario
315
- source_type: "transcricao" # Tipo da fonte (raw, transcript, interview)
316
- source_tier: 0 # Tier da fonte (0-3)
317
- location:
318
- page: null # Pagina (se texto paginado)
319
- timestamp: "14:32" # Minuto:segundo (se audio/video)
320
- paragraph: 3 # Paragrafo (se texto corrido)
321
- context: "resposta sobre monetizacao" # Contexto breve da extracao
322
- extraction_confidence: 0.87 # Score final apos calculo
323
- ```
324
-
325
- **Calculo de confianca:**
326
-
327
- ```yaml
328
- confidence_calculation:
329
- base_score:
330
- citacao_direta_frase_exata: [0.9, 1.0]
331
- parafraseado_proximo_comportamento_explicito: [0.7, 0.89]
332
- inferencia_minima_padrao_claro: [0.5, 0.69]
333
- inferencia_moderada_precisa_triangulacao: [0.3, 0.49]
334
- especulacao: [0.0, 0.29] # AUTO-REJECT
335
-
336
- tier_multipliers:
337
- tier_0_modelo_do_eu: 1.00
338
- tier_1_entrevista_longa: 0.95
339
- tier_2_conteudo_curado: 0.85
340
- tier_3_terceiros: 0.70
341
-
342
- bonuses:
343
- quoted_speech: +0.10 # Frase entre aspas na fonte
344
- multi_source: +0.10 # Comportamento confirmado em 2+ fontes
345
- interview_direct: +0.05 # Resposta direta de entrevista profunda
346
-
347
- formula: "min((base_score * tier_multiplier) + bonuses, 1.0)"
348
- ```
349
-
350
- **Regras:**
351
- - Confianca < 0.3: AUTO-REJECT -- vai para mius-rejected.yaml
352
- - Confianca 0.3-0.49: LOW -- precisa de triangulacao para ser util
353
- - Confianca 0.5-0.79: MEDIUM -- inferencia minima, aceito
354
- - Confianca 0.8-1.0: HIGH -- citacao direta ou comportamento explicito
355
- - Se qualquer campo de proveniencia estiver AUSENTE: marcar MIU como INCOMPLETE, priorizar preenchimento
356
-
357
- **Meta: Proveniencia 100%.** Sem proveniencia, nao existe MIU -- existe opiniao.
358
-
359
- **Checkpoint:** Proveniencia e confianca registradas para todos os MIUs.
360
-
361
- ---
362
-
363
- ### Step 7: Validar MIUs contra Regras de Rejeicao
364
-
365
- **Atividade do Agent (@innerlens):**
366
-
367
- Testar CADA MIU candidato contra as 6 regras de rejeicao definidas na taxonomia:
368
-
369
- | Regra | Teste | Acao se FAIL |
370
- |-------|-------|-------------|
371
- | GENERIC | "Qualquer pessoa diria isso? Nao captura unicidade da pessoa-alvo?" | Rejeitar -> mius-rejected.yaml com reason GENERIC |
372
- | INFERENCE_HEAVY | "Mais de 30% do conteudo e inferencia, nao extracao?" | Rejeitar ou marcar [INFERRED] e reduzir confianca |
373
- | DUPLICATE | "MIU identico ou quase identico (>80% similaridade) ja existe?" | Rejeitar, linkar ao original via related_mius |
374
- | NO_ATTRIBUTION | "MIU sem source_id, location ou proveniencia completa?" | Rejeitar -- viola regra de proveniencia obrigatoria |
375
- | TOO_BROAD | "Cobre 2+ conceitos distintos que deveriam ser MIUs separados?" | Dividir em 2+ MIUs atomicos, re-classificar cada um |
376
- | CONTRADICTS_SOURCE | "O MIU distorce ou contradiz o que a fonte realmente diz?" | Rejeitar -- viola principio zero-inference |
377
-
378
- **Para cada MIU rejeitado, registrar:**
379
-
380
- ```yaml
381
- rejected_miu:
382
- id: "MIU-R-{seq:4}"
383
- content: "{texto rejeitado}"
384
- original_source_id: "SRC-{seq:3}"
385
- rejection_reason: "{GENERIC|INFERENCE_HEAVY|DUPLICATE|NO_ATTRIBUTION|TOO_BROAD|CONTRADICTS_SOURCE}"
386
- rejection_note: "{explicacao detalhada de por que foi rejeitado}"
387
- duplicate_of: null # MIU-XXXX se DUPLICATE
388
- suggestion: "{sugestao de correcao, se recuperavel}"
389
- ```
390
-
391
- **Metricas de rejeicao:**
392
- - Taxa de rejeicao <= 30%: saudavel (fontes boas, extracao calibrada)
393
- - Taxa de rejeicao 30-50%: WARN (fontes ruins ou extracao muito restritiva)
394
- - Taxa de rejeicao > 50%: FAIL (fontes muito brutas ou extracao quebrada)
395
-
396
- **Checkpoint:** MIUs validados separados de MIUs rejeitados. Taxa de rejeicao calculada.
397
-
398
- ---
399
-
400
- ### Step 8: Gerar Fragmentos para MIUs Complexos
401
-
402
- **Atividade do Agent (@innerlens):**
403
-
404
- 1. Identificar MIUs que contem sub-unidades estruturadas:
405
- - METHODOLOGICAL com framework de 3+ passos
406
- - TECHNICAL com lista de ferramentas/metricas relacionadas
407
- - BEHAVIORAL com variantes contextuais do mesmo padrao
408
-
409
- 2. Para cada MIU complexo, criar fragmentos:
410
-
411
- ```yaml
412
- fragments:
413
- - id: "FRAG-MIU-0015-01"
414
- parent_miu: "MIU-0015"
415
- content: "Passo 1 do framework: Diagnostico — mapear situacao atual"
416
- position: 1
417
- tags: [FRAMEWORK]
418
- note: ""
419
-
420
- - id: "FRAG-MIU-0015-02"
421
- parent_miu: "MIU-0015"
422
- content: "Passo 2 do framework: Estrategia — definir plano de acao"
423
- position: 2
424
- tags: [FRAMEWORK]
425
- note: ""
426
-
427
- - id: "FRAG-MIU-0015-03"
428
- parent_miu: "MIU-0015"
429
- content: "Passo 3 do framework: Execucao — implementar com medicao"
430
- position: 3
431
- tags: [FRAMEWORK]
432
- note: ""
433
- ```
434
-
435
- 3. **Heranca:** Fragmentos herdam source_id e category do MIU pai
436
- 4. **ID Format:** `FRAG-{parent_miu_id}-{seq:2}` (ex: FRAG-MIU-0015-01)
437
-
438
- **Quando NAO fragmentar:**
439
- - MIUs OPINION: sao atomicos por natureza (uma crenca = uma unidade)
440
- - MIUs BEHAVIORAL simples: padroes unicos sem variantes
441
- - MIUs STORYTELLING: historias perdem sentido fora de contexto narrativo
442
-
443
- **Checkpoint:** MIUs complexos fragmentados. Fragmentos indexados com heranca.
444
-
445
- ---
446
-
447
- ### Step 9: Gravar mius.yaml
448
-
449
- **Atividade do Agent (@innerlens):**
450
-
451
- Gravar todos os MIUs validos em formato estruturado:
452
-
453
- ```yaml
454
- # minds/{slug}/02-extraction/mius.yaml
455
- metadata:
456
- generated_at: "{ISO-8601 timestamp}"
457
- mind_slug: "{slug}"
458
- total_valid: N
459
- extraction_version: "2.0.0"
460
- taxonomy_version: "1.0.0"
461
- agent: "@innerlens"
462
- mode: "full" # ou "incremental"
463
-
464
- items:
465
- - id: "MIU-0001"
466
- content: |
467
- O expert diz que prefere verdade a validacao vazia.
468
- Confronta quando necessario, mesmo que desconfortavel.
469
- category: "OPINION"
470
- tags: [VALUES, REJECTION]
471
- source_id: "SRC-001"
472
- location:
473
- page: null
474
- timestamp: "14:32"
475
- paragraph: 3
476
- context: "resposta sobre feedback"
477
- confidence: 0.92
478
- fragments: []
479
- related_mius: ["MIU-0023"]
480
- note: "Citacao quase direta da fonte"
481
- # ... todos os MIUs validos
482
- ```
483
-
484
- **Validacao pre-gravacao:**
485
- - Todo MIU tem id, content, category, source_id, location, confidence
486
- - Nenhum campo PENDING ou INCOMPLETE restante
487
- - Confidence >= 0.3 para todos
488
- - IDs unicos e sequenciais
489
-
490
- **Checkpoint:** mius.yaml gravado.
491
-
492
- ---
493
-
494
- ### Step 10: Gravar mius-rejected.yaml
495
-
496
- **Atividade do Agent (@innerlens):**
497
-
498
- Gravar todos os MIUs rejeitados com motivos documentados:
499
-
500
- ```yaml
501
- # minds/{slug}/02-extraction/mius-rejected.yaml
502
- metadata:
503
- generated_at: "{ISO-8601 timestamp}"
504
- mind_slug: "{slug}"
505
- total_rejected: N
506
- rejection_rate: 0.XX # rejeitados / (validos + rejeitados)
507
- agent: "@innerlens"
508
-
509
- rejection_summary:
510
- GENERIC: N
511
- INFERENCE_HEAVY: N
512
- DUPLICATE: N
513
- NO_ATTRIBUTION: N
514
- TOO_BROAD: N
515
- CONTRADICTS_SOURCE: N
516
-
517
- items:
518
- - id: "MIU-R-0001"
519
- content: "E importante ter foco no que importa"
520
- original_source_id: "SRC-003"
521
- confidence: 0.45
522
- rejection_reason: "GENERIC"
523
- rejection_note: "Afirmacao que qualquer expert diria — nao captura unicidade"
524
- duplicate_of: null
525
- suggestion: "Nao recuperavel — conteudo generico sem especificidade"
526
-
527
- - id: "MIU-R-0002"
528
- content: "Provavelmente valoriza autonomia porque cresceu empreendendo"
529
- original_source_id: "SRC-007"
530
- confidence: 0.22
531
- rejection_reason: "INFERENCE_HEAVY"
532
- rejection_note: "Mais inferencia que extracao — fonte nao diz o porque"
533
- duplicate_of: null
534
- suggestion: "Extrair apenas a parte factual: 'Cresceu empreendendo'"
535
- # ... todos os rejeitados
536
- ```
537
-
538
- **Checkpoint:** mius-rejected.yaml gravado com motivos e sugestoes.
539
-
540
- ---
541
-
542
- ### Step 11: Gravar fragments.yaml
543
-
544
- **Atividade do Agent (@innerlens):**
545
-
546
- Gravar todos os fragmentos de MIUs complexos:
547
-
548
- ```yaml
549
- # minds/{slug}/02-extraction/fragments.yaml
550
- metadata:
551
- generated_at: "{ISO-8601 timestamp}"
552
- mind_slug: "{slug}"
553
- total_fragments: N
554
- total_parent_mius: M # quantos MIUs foram fragmentados
555
- agent: "@innerlens"
556
-
557
- items:
558
- - id: "FRAG-MIU-0015-01"
559
- parent_miu: "MIU-0015"
560
- content: "Passo 1: Proposito — clareza sobre quem voce e e o que Deus te chamou pra fazer"
561
- position: 1
562
- tags: [FRAMEWORK]
563
- note: ""
564
-
565
- - id: "FRAG-MIU-0015-02"
566
- parent_miu: "MIU-0015"
567
- content: "Passo 2: Marketing — estrategia para se tornar relevante e atrair o publico certo"
568
- position: 2
569
- tags: [FRAMEWORK]
570
- note: ""
571
-
572
- - id: "FRAG-MIU-0015-03"
573
- parent_miu: "MIU-0015"
574
- content: "Passo 3: IA — sistema operacional que escala o negocio sem depender de equipe"
575
- position: 3
576
- tags: [FRAMEWORK]
577
- note: ""
578
- # ... todos os fragmentos
579
- ```
580
-
581
- **Checkpoint:** fragments.yaml gravado. Pode estar vazio se nenhum MIU foi fragmentado (arquivo gerado mesmo assim).
582
-
583
- ---
584
-
585
- ### Step 12: Gerar extraction-report.md
586
-
587
- **Atividade do Agent (@innerlens):**
588
-
589
- Produzir `02-extraction/extraction-report.md` com 7 secoes:
590
-
591
- ```markdown
592
- # Extraction Report — {mind_slug}
593
-
594
- **Data:** {date}
595
- **Agente:** @innerlens
596
- **Fontes processadas:** {sources_count}
597
- **Tempo de processamento:** {X} minutos
598
-
599
- ---
600
-
601
- ## 1. Resumo Executivo
602
-
603
- | Metrica | Valor | Target | Status |
604
- |---------|-------|--------|--------|
605
- | MIUs extraidos (total) | {total} | — | — |
606
- | MIUs validos | {valid} | >= 50 | {PASS/FAIL} |
607
- | MIUs rejeitados | {rejected} | — | — |
608
- | Taxa de extracao | {rate}% | >= 70% | {PASS/WARN/FAIL} |
609
- | Taxa de rejeicao | {rej_rate}% | <= 30% | {PASS/WARN/FAIL} |
610
- | Proveniencia completa | {prov}% | 100% | {PASS/FAIL} |
611
- | Fragmentos gerados | {frags} | — | — |
612
- | Palavras processadas | {words} | — | — |
613
-
614
- ## 2. Distribuicao por Categoria
615
-
616
- | Categoria | Count | % | Target | Status |
617
- |-----------|-------|---|--------|--------|
618
- | BEHAVIORAL | {n} | {%} | 20-30% | {OK/LOW/HIGH} |
619
- | METHODOLOGICAL | {n} | {%} | 20-30% | {OK/LOW/HIGH} |
620
- | STORYTELLING | {n} | {%} | 15-25% | {OK/LOW/HIGH} |
621
- | OPINION | {n} | {%} | 15-25% | {OK/LOW/HIGH} |
622
- | TECHNICAL | {n} | {%} | 10-20% | {OK/LOW/HIGH} |
623
-
624
- Categorias cobertas: {N}/5
625
-
626
- ## 3. Distribuicao por Confianca
627
-
628
- | Nivel | Count | % | Target | Status |
629
- |-------|-------|---|--------|--------|
630
- | High (0.8-1.0) | {n} | {%} | >= 40% | {OK/WARN} |
631
- | Medium (0.5-0.79) | {n} | {%} | 30-40% | — |
632
- | Low (0.3-0.49) | {n} | {%} | <= 20% | {OK/WARN} |
633
-
634
- ## 4. Motivos de Rejeicao
635
-
636
- | Motivo | Count | % dos Rejeitados |
637
- |--------|-------|-----------------|
638
- | GENERIC | {n} | {%} |
639
- | INFERENCE_HEAVY | {n} | {%} |
640
- | DUPLICATE | {n} | {%} |
641
- | NO_ATTRIBUTION | {n} | {%} |
642
- | TOO_BROAD | {n} | {%} |
643
- | CONTRADICTS_SOURCE | {n} | {%} |
644
-
645
- ## 5. Top 10 MIUs (Maior Confianca)
646
-
647
- {Lista dos 10 MIUs com maior confidence score, com id, categoria, confianca e trecho}
648
-
649
- ## 6. Problemas Detectados
650
-
651
- {Lista de problemas: MIUs incompletos, proveniencia faltando, desequilibrio de categorias,
652
- categorias ausentes, fontes nao processadas, taxa de rejeicao alta}
653
-
654
- ## 7. Recomendacoes
655
-
656
- {Acoes necessarias antes do handoff para DNA extraction:
657
- - Buscar mais fontes para categorias fracas
658
- - Re-processar fontes com parametros ajustados
659
- - Completar proveniencia de MIUs incompletos
660
- - Resolver MIUs TOO_BROAD pendentes}
661
- ```
662
-
663
- **Checkpoint:** extraction-report.md gerado com 7 secoes completas.
664
-
665
- ---
666
-
667
- ### Step 13: Quality Gate QG-002 MIU_QUALITY (Blocking)
668
-
669
- **Atividade do Agent (@innerlens):**
670
-
671
- Executar checklist de `checklists/miu-quality-gate.md`:
672
-
673
- | Check | Criterio | Threshold | Bloqueante |
674
- |-------|----------|-----------|-----------|
675
- | 1. Minimo de MIUs | Total MIUs validos | >= 50 | SIM |
676
- | 2. Cobertura de categorias | Categorias com MIUs | >= 3 das 5 | SIM |
677
- | 3. Taxa de rejeicao | Rejeitados / total | <= 30% | SIM |
678
- | 4. Proveniencia | MIUs com proveniencia completa | 100% | SIM |
679
- | 5. Taxa de extracao | Validos / (validos + rejeitados) | >= 60% | SIM |
680
- | 6. Distribuicao de confianca | MIUs high confidence | >= 40% | NAO (warn) |
681
- | 7. Zero genericos | Genericos no set valido | 0 | SIM |
682
- | 8. Zero MIUs incompletos | MIUs marcados INCOMPLETE | 0 | SIM |
683
- | 9. Contradicoes marcadas | Contradicoes com tag CONTRADICTION | Todas marcadas | NAO (warn) |
684
- | 10. Report gerado | extraction-report.md existe | Sim | SIM |
685
-
686
- **Resultado do QG-002:**
687
-
688
- ```yaml
689
- qg_002_results:
690
- checks_passed: N
691
- checks_total: 10
692
- blocking_passed: N # dos 8 bloqueantes
693
- blocking_total: 8
694
-
695
- details:
696
- min_50_mius:
697
- threshold: 50
698
- actual: N
699
- result: "PASS/FAIL"
700
- blocking: true
701
- coverage_3_categories:
702
- threshold: 3
703
- actual: N
704
- result: "PASS/FAIL"
705
- blocking: true
706
- rejection_rate:
707
- threshold: 0.30
708
- actual: 0.XX
709
- result: "PASS/FAIL"
710
- blocking: true
711
- provenance_100:
712
- threshold: 1.0
713
- actual: 0.XX
714
- result: "PASS/FAIL"
715
- blocking: true
716
- extraction_rate:
717
- threshold: 0.6
718
- actual: 0.XX
719
- result: "PASS/FAIL"
720
- blocking: true
721
- confidence_distribution:
722
- high_pct: {X}%
723
- result: "PASS/WARN"
724
- blocking: false
725
- zero_generics:
726
- generics_count: N
727
- result: "PASS/FAIL"
728
- blocking: true
729
- zero_incomplete:
730
- incomplete_count: N
731
- result: "PASS/FAIL"
732
- blocking: true
733
- contradictions_marked:
734
- result: "PASS/WARN"
735
- blocking: false
736
- report_generated:
737
- result: "PASS/FAIL"
738
- blocking: true
739
-
740
- decision: "PASS / CONDITIONAL / FAIL"
741
- ```
742
-
743
- **Decisao:**
744
-
745
- | Resultado | Criterio | Acao |
746
- |-----------|----------|------|
747
- | **PASS** | 8+/10 checks (todos bloqueantes passam) | Prosseguir para Fase 3 (DNA Extraction) |
748
- | **CONDITIONAL** | 6-7/10 + gaps documentados | Prosseguir com warnings no manifest |
749
- | **FAIL** | < 6/10 OU qualquer bloqueante falha | BLOQUEAR — revisar fontes e re-extrair |
750
-
751
- **Se FAIL:**
752
- 1. Identificar quais checks falharam
753
- 2. Se volume (< 50 MIUs): buscar mais fontes (voltar a Fase 1)
754
- 3. Se qualidade (rejeicao > 30%): ajustar parametros de extracao
755
- 4. Se distribuicao (< 3 categorias): buscar fontes especificas para categorias ausentes
756
- 5. Se proveniencia (< 100%): completar campos ausentes
757
- 6. Max 2 retries antes de escalar para usuario
758
-
759
- **Checkpoint:** QG-002 executado. Decisao registrada. Manifest atualizado.
760
-
761
- ---
762
-
763
- ## Outputs
764
-
765
- | Arquivo | Path | Descricao |
766
- |---------|------|-----------|
767
- | MIUs Validos | `minds/{slug}/02-extraction/mius.yaml` | Todos os MIUs validos com classificacao, confianca, proveniencia e tags |
768
- | MIUs Rejeitados | `minds/{slug}/02-extraction/mius-rejected.yaml` | MIUs rejeitados com motivo, regra violada e sugestao |
769
- | Fragmentos | `minds/{slug}/02-extraction/fragments.yaml` | Sub-unidades de MIUs complexos com heranca |
770
- | Extraction Report | `minds/{slug}/02-extraction/extraction-report.md` | Relatorio com metricas, distribuicoes, problemas e recomendacoes |
771
-
772
- ---
773
-
774
- ## Validacao
775
-
776
- ### QG-002 — MIU Quality Gate (Blocking)
777
-
778
- **Checklist Pos-Execucao:**
779
-
780
- - [ ] >= 50 MIUs validos em mius.yaml
781
- - [ ] >= 3 das 5 categorias primarias representadas
782
- - [ ] Taxa de rejeicao <= 30%
783
- - [ ] Proveniencia 100% (source_id + location em todo MIU valido)
784
- - [ ] Taxa de extracao >= 60%
785
- - [ ] >= 40% dos MIUs com high confidence (0.8-1.0)
786
- - [ ] Zero MIUs genericos no set valido
787
- - [ ] Zero MIUs marcados INCOMPLETE
788
- - [ ] Contradicoes identificadas e marcadas com tag CONTRADICTION
789
- - [ ] extraction-report.md gerado com as 7 secoes
790
-
791
- ### Criterios de Sucesso
792
-
793
- **Threshold: 8/10 no checklist acima**
794
-
795
- | Criterio | Excelente (3) | Aceitavel (2) | Fraco (1) |
796
- |----------|--------------|----------------|---------|
797
- | **Volume** | 80+ MIUs, 5+ categorias | 50-79 MIUs, 3+ categorias | < 50 MIUs ou < 3 categorias |
798
- | **Qualidade** | 50%+ high confidence, zero genericos | 40%+ high, zero genericos | < 40% high ou genericos presentes |
799
- | **Proveniencia** | 100% completa | 95-99% completa | < 95% |
800
- | **Distribuicao** | Equilibrada (nenhuma categoria > 35%) | Aceitavel (nenhuma > 45%) | Desequilibrada (1 categoria > 50%) |
801
- | **Rejeicao** | <= 20% rejeitados | 20-30% rejeitados | > 30% rejeitados |
802
-
803
- ---
804
-
805
- ## Error Handling
806
-
807
- ### Erro: Menos de 50 MIUs validos
808
-
809
- **Sintoma:** Poucos MIUs passam na validacao apos processar todas as fontes.
810
- **Acao:**
811
- 1. Verificar volume de fontes -- fontes suficientes no inventario?
812
- 2. Verificar taxa de rejeicao -- extracao muito restritiva?
813
- 3. Se fontes insuficientes: solicitar mais fontes ao usuario (voltar a Fase 1)
814
- 4. Se extracao restritiva: ajustar parametros (confidence_floor, dedup_threshold)
815
- 5. Ultimo recurso: solicitar entrevista profunda focada em areas com poucos MIUs
816
-
817
- ### Erro: Cobertura de categorias < 3
818
-
819
- **Sintoma:** 1-2 categorias dominam, outras ausentes.
820
- **Acao:**
821
- 1. Identificar categorias ausentes
822
- 2. Mapear: qual tipo de fonte alimenta qual categoria
823
- - BEHAVIORAL: entrevistas, observacao direta
824
- - METHODOLOGICAL: conteudo proprio, lives, aulas
825
- - STORYTELLING: biografias, casos, depoimentos
826
- - OPINION: posts, artigos opinativos, debates
827
- - TECHNICAL: tutoriais, dados, documentacao
828
- 3. Recomendar fontes especificas para categorias fracas
829
- 4. Se possivel: re-extrair com foco em categorias ausentes
830
-
831
- ### Erro: Taxa de rejeicao > 30%
832
-
833
- **Sintoma:** Muitos MIUs sendo descartados.
834
- **Acao:**
835
- 1. Analisar motivos de rejeicao dominantes (mius-rejected.yaml)
836
- 2. Se GENERIC domina: fontes de baixa qualidade, buscar fontes melhores
837
- 3. Se INFERENCE_HEAVY domina: extracao esta inferindo demais, recalibrar
838
- 4. Se DUPLICATE domina: fontes muito similares, normal se mesma pessoa
839
- 5. Se NO_ATTRIBUTION domina: proveniencia nao esta sendo registrada corretamente
840
- 6. Se TOO_BROAD domina: chunking muito grande, reduzir tamanho de chunks
841
-
842
- ### Erro: Proveniencia < 100%
843
-
844
- **Sintoma:** MIUs no set valido sem source_id, location ou campos de proveniencia.
845
- **Acao:**
846
- 1. Identificar MIUs com proveniencia incompleta
847
- 2. Completar campos ausentes rastreando de volta a fonte
848
- 3. Se nao conseguir rastrear: mover para mius-rejected.yaml com reason NO_ATTRIBUTION
849
- 4. Nunca enviar MIU sem proveniencia para o proximo passo
850
-
851
- ### Erro: Fonte nao encontrada no filesystem
852
-
853
- **Sintoma:** Arquivo listado no inventario nao existe no path indicado.
854
- **Acao:**
855
- 1. Registrar warning. Pular fonte. Continuar com as demais.
856
- 2. Se > 30% das fontes faltam: HALT e reportar ao usuario
857
- 3. Documentar fontes ausentes no extraction-report.md
858
-
859
- ### Erro: Context limit excedido durante batch
860
-
861
- **Sintoma:** Fonte muito grande para processar em um batch com taxonomia e MIUs acumulados.
862
- **Acao:**
863
- 1. Reduzir batch_size para 1 (processar fonte isolada)
864
- 2. Se ainda excede: dividir fonte em sub-batches por secao/capitulo
865
- 3. Processar primeiras 50% da fonte, documentar limitacao
866
- 4. Nunca sacrificar qualidade por volume
867
-
868
- ### Erro: QG-002 FAIL
869
-
870
- **Sintoma:** Quality gate falhou em checks bloqueantes.
871
- **Acao:**
872
- 1. Analisar quais checks especificos falharam
873
- 2. Aplicar acoes corretivas especificas (ver erros acima)
874
- 3. Re-rodar steps afetados (nao tudo -- apenas o necessario)
875
- 4. Max 2 retries
876
- 5. Se 2 retries falham: escalar para usuario com diagnostico completo
877
- 6. NUNCA prosseguir para Fase 3 com QG-002 FAIL em check bloqueante
878
-
879
- ---
880
-
881
- ## Integracao
882
-
883
- ### Recebe de
884
-
885
- | Fase | Agente | Dados |
886
- |------|--------|-------|
887
- | Phase 1 | @clone-forge-chief | sources-inventory.yaml validado (QG-001 PASS) |
888
- | Phase 1 | @clone-forge-chief | Fontes normalizadas em 01-sources/ (raw, transcripts, interview) |
889
- | Phase 1.5 | @clone-forge-chief | Entrevistas profundas (Tier 0) em 01-sources/interview/ |
890
-
891
- ### Entrega para
892
-
893
- | Fase | Agente | Dados |
894
- |------|--------|-------|
895
- | Phase 3 | @innerlens + @cognitive-motor | MIUs validados para DNA Extraction (Voice DNA + Thinking DNA) |
896
- | Phase 4 | @cognitive-motor | MIUs validados como evidencia para Driver Inference |
897
- | Phase 6 | @clone-forge-chief | extraction-report.md para metricas de agregacao |
898
- | Phase 7 | @clone-forge-chief | MIUs validados para smoke tests de consistencia |
899
-
900
- ### Handoff Protocol
901
-
902
- ```yaml
903
- handoff_to_phase_3:
904
- from: "@innerlens"
905
- to: "@clone-forge-chief"
906
- gate: "QG-002 MIU_QUALITY PASS"
907
- condition: "QG-002 PASS or CONDITIONAL"
908
- veto: "QG-002 FAIL em qualquer check bloqueante"
909
- package:
910
- - minds/{slug}/02-extraction/mius.yaml
911
- - minds/{slug}/02-extraction/fragments.yaml
912
- - minds/{slug}/02-extraction/extraction-report.md
913
- note: "mius-rejected.yaml fica disponivel para referencia mas NAO e entregue como input"
914
- ```
915
-
916
- ### Chained Tasks
917
-
918
- ```yaml
919
- chain:
920
- previous: collect-and-merge-sources (or deep-interview if executed)
921
- next: extract-dna-enriched
922
- blocking_gate: QG-002
923
- on_fail: "BLOQUEAR. Resolver gaps antes de prosseguir."
924
- handoff_to: "@clone-forge-chief"
925
- handoff_condition: "QG-002 PASS or CONDITIONAL"
926
- handoff_artifacts:
927
- - "02-extraction/mius.yaml"
928
- - "02-extraction/fragments.yaml"
929
- - "02-extraction/extraction-report.md"
930
- ```
931
-
932
- ---
933
-
934
- ## Notas para o Executor
935
-
936
- ### Ordem de Processamento Importa
937
-
938
- Processar fontes Tier 0 primeiro, depois Tier 1, depois Tier 2, por ultimo Tier 3. Motivo: MIUs de fontes Tier 0 servem como ancora -- quando uma fonte Tier 2 diz algo parecido, o MIU da Tier 0 e o "original" e o da Tier 2 e marcado como related (ou duplicata).
939
-
940
- ### Batch Size e Context Window
941
-
942
- Nao processar mais de 3 fontes por batch. Cada fonte pode ter milhares de palavras. O @innerlens precisa manter em contexto: a taxonomia, os MIUs ja extraidos (para dedup), e a fonte atual. Overload de contexto = queda de qualidade.
943
-
944
- ### Quando Extrair Fragmentos
945
-
946
- Fragmentos so fazem sentido para MIUs METHODOLOGICAL com framework de 3+ passos e MIUs TECHNICAL com listas estruturadas. NAO fragmentar:
947
- - MIUs OPINION (sao atomicos por natureza)
948
- - MIUs BEHAVIORAL (sao padroes, nao sequencias)
949
- - MIUs STORYTELLING (historias perdem sentido fora de contexto)
950
-
951
- ### Zero Inference na Pratica
952
-
953
- A regra e simples mas a tentacao e grande:
954
-
955
- | Correto (extracao) | Errado (inferencia) |
956
- |---------------------|---------------------|
957
- | "O expert diz que prefere verdade a validacao vazia" | "O expert provavelmente valoriza honestidade porque teve experiencias negativas" |
958
- | "Usa metodo PMI: Proposito + Marketing + IA" | "Provavelmente criou o PMI por influencia de frameworks ageis" |
959
- | "Rejeita reunioes sem pauta definida" | "Deve ter trauma de reunioes improdutivas" |
960
-
961
- Se a fonte NAO diz o PORQUE, o MIU NAO inclui o porque. Ponto.
962
-
963
- ### Re-runs Incrementais
964
-
965
- Se o usuario adiciona fontes depois da primeira extracao, rodar em modo incremental:
966
- - Carregar mius.yaml existente
967
- - Processar APENAS fontes novas (comparar inventario anterior vs atual)
968
- - Dedup contra MIUs existentes
969
- - Append ao arquivo existente (nao sobrescrever)
970
- - Re-rodar QG-002
971
-
972
- ### Manifest Update
973
-
974
- Ao finalizar, atualizar manifest.yaml da mind:
975
-
976
- ```yaml
977
- phase_2:
978
- status: completed
979
- completed_at: "{timestamp}"
980
- duration_minutes: N
981
- quality_gate: "QG-002"
982
- quality_gate_result: "{PASS/CONDITIONAL/FAIL}"
983
- total_mius_valid: N
984
- total_mius_rejected: N
985
- total_fragments: N
986
- extraction_rate: 0.XX
987
- rejection_rate: 0.XX
988
- category_distribution:
989
- BEHAVIORAL: N
990
- METHODOLOGICAL: N
991
- STORYTELLING: N
992
- OPINION: N
993
- TECHNICAL: N
994
- confidence_distribution:
995
- high: N
996
- medium: N
997
- low: N
998
- outputs:
999
- mius: "02-extraction/mius.yaml"
1000
- rejected: "02-extraction/mius-rejected.yaml"
1001
- fragments: "02-extraction/fragments.yaml"
1002
- report: "02-extraction/extraction-report.md"
1003
- ```
1004
-
1005
- ---
1006
-
1007
- ## Historico de Revisoes
1008
-
1009
- | Versao | Data | Autor | Mudanca |
1010
- |--------|------|-------|---------|
1011
- | 1.0.0 | 2026-03-02 | @innerlens | Criacao inicial da task |
1012
- | 2.0.0 | 2026-03-02 | @innerlens | Reescrita completa: 13 steps detalhados, QG-002 com thresholds atualizados (50 MIUs, 3 categorias, rejection rate 30%, proveniencia 100%), regras de rejeicao expandidas (NO_ATTRIBUTION, CONTRADICTS_SOURCE), error handling detalhado, notas para executor |
1013
-
1014
- ---
1015
-
1016
- *"Sem proveniencia, nao existe MIU. Existe opiniao."*
1017
- *"Zero-inference. Extrai o que ESTA la, nao o que poderia estar."*
1018
- *"Generico qualquer pessoa diria. Me mostra o que so ESSA pessoa diz."*