auroq-os 2.2.2 → 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.
- package/.auroq-core/constitution.md +11 -151
- package/.auroq-core/core-config.yaml +1 -1
- package/.auroq-core/dna-operacional.md +9 -131
- package/.claude/CLAUDE.md +5 -466
- package/.claude/commands/AuroqOS/agents/ops.md +4 -1781
- package/.claude/commands/auroq-clone-forge.md +3 -3
- package/.claude/commands/auroq-companion.md +3 -3
- package/.claude/commands/auroq-consultor.md +4 -4
- package/.claude/commands/auroq-etlmaker.md +3 -3
- package/.claude/commands/auroq-mind-forge.md +4 -4
- package/.claude/commands/auroq-squad-forge.md +3 -3
- package/.claude/commands/auroq-worker-forge.md +4 -4
- package/.claude/hooks/auroq-sync.cjs +127 -0
- package/.claude/output-styles/direto.md +19 -0
- package/.claude/rules/agent-authority.md +8 -6
- package/.claude/rules/evolucao-incremental.md +8 -20
- package/.claude/rules/mcp-usage.md +10 -18
- package/.claude/rules/operacao-autonoma.md +29 -0
- package/.claude/rules/puxar-e-entregar.md +31 -0
- package/.claude/settings.json +22 -1
- package/.gitignore +4 -0
- package/AGENTS.md +10 -119
- package/README.md +8 -7
- package/bin/auroq-os.js +68 -18
- package/lib/auth.js +6 -6
- package/lib/credentials.js +13 -1
- package/package.json +18 -8
- package/scripts/postpack-casca.mjs +32 -0
- package/scripts/prepack-casca.mjs +47 -0
- package/scripts/validate-hybrid.mjs +2 -0
- package/.auroq-core/development/sistema-gestao-projetos.md +0 -193
- package/.auroq-core/development/sistema-memoria.md +0 -157
- package/agents/clone-forge/.state.json +0 -7
- package/agents/clone-forge/README.md +0 -81
- package/agents/clone-forge/agents/clone-forge-chief.md +0 -885
- package/agents/clone-forge/agents/cognitive-motor.md +0 -384
- package/agents/clone-forge/agents/innerlens.md +0 -453
- package/agents/clone-forge/checklists/clone-forge-validation.md +0 -160
- package/agents/clone-forge/checklists/driver-quality-gate.md +0 -79
- package/agents/clone-forge/checklists/miu-quality-gate.md +0 -86
- package/agents/clone-forge/checklists/psychometric-quality-gate.md +0 -76
- package/agents/clone-forge/checklists/smoke-test-clone.md +0 -313
- package/agents/clone-forge/config.yaml +0 -221
- package/agents/clone-forge/data/clone-anti-patterns.yaml +0 -148
- package/agents/clone-forge/data/clone-forge-kb.md +0 -106
- package/agents/clone-forge/data/clone-validation.yaml +0 -190
- package/agents/clone-forge/data/driver-catalog.yaml +0 -2595
- package/agents/clone-forge/data/driver-relationship-templates.yaml +0 -242
- package/agents/clone-forge/data/miu-classification-taxonomy.yaml +0 -273
- package/agents/clone-forge/data/output-examples.yaml +0 -102
- package/agents/clone-forge/data/poc-schema.yaml +0 -320
- package/agents/clone-forge/data/psychometric-systems.yaml +0 -1514
- package/agents/clone-forge/data/source-tiers.yaml +0 -119
- package/agents/clone-forge/data/source-type-handlers.yaml +0 -282
- package/agents/clone-forge/tasks/aggregate-profile.md +0 -519
- package/agents/clone-forge/tasks/clone-review.md +0 -105
- package/agents/clone-forge/tasks/collect-and-merge-sources.md +0 -621
- package/agents/clone-forge/tasks/deep-interview.md +0 -737
- package/agents/clone-forge/tasks/extract-dna-enriched.md +0 -371
- package/agents/clone-forge/tasks/extract-mius.md +0 -1018
- package/agents/clone-forge/tasks/extract-thinking-dna.md +0 -654
- package/agents/clone-forge/tasks/extract-voice-dna.md +0 -620
- package/agents/clone-forge/tasks/fidelity-score.md +0 -109
- package/agents/clone-forge/tasks/gap-analysis-questionnaire.md +0 -517
- package/agents/clone-forge/tasks/generate-agent-from-profile.md +0 -874
- package/agents/clone-forge/tasks/infer-drivers.md +0 -431
- package/agents/clone-forge/tasks/ingest-local-content.md +0 -578
- package/agents/clone-forge/tasks/map-psychometrics.md +0 -459
- package/agents/clone-forge/tasks/start.md +0 -805
- package/agents/clone-forge/tasks/validate-clone-forge.md +0 -743
- package/agents/clone-forge/tasks/validate-clone.md +0 -130
- package/agents/clone-forge/templates/driver-profile-tmpl.yaml +0 -137
- package/agents/clone-forge/templates/manifest-tmpl.yaml +0 -161
- package/agents/clone-forge/templates/miu-tmpl.yaml +0 -109
- package/agents/clone-forge/templates/poc-module-tmpl.yaml +0 -259
- package/agents/clone-forge/templates/quality-dashboard-360-tmpl.md +0 -218
- package/agents/clone-forge/workflows/wf-clone-forge-full.yaml +0 -678
- package/agents/clone-forge/workflows/wf-clone-forge-quick.yaml +0 -320
- package/agents/companion/agents/companion.md +0 -326
- package/agents/companion/knowledge/arcane-method.md +0 -247
- package/agents/companion/knowledge/companion-foundation.md +0 -57
- package/agents/companion/knowledge/modus-operandi.md +0 -161
- package/agents/companion/knowledge/system-guide.md +0 -380
- package/agents/companion/tasks/new-project.md +0 -111
- package/agents/companion/tasks/save-memory.md +0 -73
- package/agents/companion/tasks/start.md +0 -159
- package/agents/companion/tasks/weekly-review.md +0 -82
- package/agents/consultor/agents/consultor.md +0 -185
- package/agents/consultor/knowledge/01-arquitetura-e-engenharia.md +0 -157
- package/agents/consultor/knowledge/02-operar-o-negocio.md +0 -136
- package/agents/consultor/knowledge/03-os-8-agentes.md +0 -96
- package/agents/consultor/knowledge/04-filosofia-e-didatica.md +0 -131
- package/agents/consultor/knowledge/05-fazer-no-dia-a-dia.md +0 -99
- package/agents/consultor/knowledge/06-quando-criar-agente-ou-squad.md +0 -109
- package/agents/consultor/knowledge/07-logicas-de-uso-e-higiene.md +0 -87
- package/agents/consultor/tasks/start.md +0 -26
- package/agents/etlmaker/agents/analyst.md +0 -189
- package/agents/etlmaker/agents/architect.md +0 -173
- package/agents/etlmaker/agents/auditor.md +0 -217
- package/agents/etlmaker/agents/composer.md +0 -201
- package/agents/etlmaker/agents/etl-chief.md +0 -259
- package/agents/etlmaker/agents/extractor.md +0 -184
- package/agents/etlmaker/data/archive/extraction-lenses.yaml +0 -178
- package/agents/etlmaker/data/archive/miu-types.yaml +0 -128
- package/agents/etlmaker/data/etlmaker-kb.md +0 -175
- package/agents/etlmaker/data/quality-gates.yaml +0 -208
- package/agents/etlmaker/skill.md +0 -230
- package/agents/etlmaker/squad.yaml +0 -182
- package/agents/etlmaker/tasks/compose-volume.md +0 -292
- package/agents/etlmaker/tasks/ingest-sources.md +0 -157
- package/agents/etlmaker/tasks/integrate-package.md +0 -357
- package/agents/etlmaker/tasks/map-territory.md +0 -394
- package/agents/etlmaker/tasks/start.md +0 -225
- package/agents/etlmaker/tasks/validate-final.md +0 -471
- package/agents/etlmaker/templates/kb-template.md +0 -180
- package/agents/etlmaker/workflows/wf-knowledge-etl.yaml +0 -371
- package/agents/mind-forge/README.md +0 -64
- package/agents/mind-forge/agents/forge-chief.md +0 -293
- package/agents/mind-forge/agents/knowledge-miner.md +0 -280
- package/agents/mind-forge/agents/mind-smith.md +0 -306
- package/agents/mind-forge/checklists/analysis-completeness.md +0 -34
- package/agents/mind-forge/checklists/mind-quality.md +0 -55
- package/agents/mind-forge/data/extraction-lenses.yaml +0 -229
- package/agents/mind-forge/data/forge-kb.md +0 -182
- package/agents/mind-forge/data/kf-classification.yaml +0 -307
- package/agents/mind-forge/skill.md +0 -7
- package/agents/mind-forge/squad.yaml +0 -167
- package/agents/mind-forge/tasks/analyze-knowledge.md +0 -278
- package/agents/mind-forge/tasks/forge-mind.md +0 -199
- package/agents/mind-forge/tasks/ingest-sources.md +0 -130
- package/agents/mind-forge/tasks/playback-validate.md +0 -146
- package/agents/mind-forge/tasks/start.md +0 -137
- package/agents/mind-forge/tasks/validate-mind.md +0 -237
- package/agents/mind-forge/templates/agent-tmpl.md +0 -124
- package/agents/mind-forge/templates/config-tmpl.yaml +0 -17
- package/agents/mind-forge/templates/kb-tmpl.md +0 -66
- package/agents/mind-forge/workflows/wf-mind-forge.yaml +0 -168
- package/agents/squad-forge/README.md +0 -110
- package/agents/squad-forge/agents/forge-chief.md +0 -297
- package/agents/squad-forge/agents/forge-smith.md +0 -535
- package/agents/squad-forge/agents/process-archaeologist.md +0 -398
- package/agents/squad-forge/checklists/architecture-coherence.md +0 -28
- package/agents/squad-forge/checklists/extraction-completeness.md +0 -48
- package/agents/squad-forge/checklists/nuclear-structure-validation.md +0 -61
- package/agents/squad-forge/checklists/squad-operational.md +0 -24
- package/agents/squad-forge/checklists/user-validation.md +0 -23
- package/agents/squad-forge/data/executor-mapping-guide.yaml +0 -135
- package/agents/squad-forge/data/extraction-lenses.yaml +0 -330
- package/agents/squad-forge/data/forge-kb.md +0 -248
- package/agents/squad-forge/data/pu-classification.yaml +0 -229
- package/agents/squad-forge/data/quality-thresholds.yaml +0 -259
- package/agents/squad-forge/squad.yaml +0 -175
- package/agents/squad-forge/tasks/architect-squad.md +0 -398
- package/agents/squad-forge/tasks/assemble-squad.md +0 -831
- package/agents/squad-forge/tasks/extract-process.md +0 -378
- package/agents/squad-forge/tasks/fix-squad.md +0 -334
- package/agents/squad-forge/tasks/generate-prd.md +0 -265
- package/agents/squad-forge/tasks/generate-stories.md +0 -223
- package/agents/squad-forge/tasks/playback-validate.md +0 -263
- package/agents/squad-forge/tasks/rebuild-squad.md +0 -236
- package/agents/squad-forge/tasks/self-test.md +0 -237
- package/agents/squad-forge/tasks/start.md +0 -247
- package/agents/squad-forge/tasks/update-squad.md +0 -262
- package/agents/squad-forge/tasks/validate-squad.md +0 -377
- package/agents/squad-forge/templates/process-map-tmpl.yaml +0 -109
- package/agents/squad-forge/templates/pu-tmpl.yaml +0 -71
- package/agents/squad-forge/templates/squad-blueprint-tmpl.yaml +0 -113
- package/agents/squad-forge/workflows/wf-squad-forge.yaml +0 -300
- package/agents/worker-forge/README.md +0 -58
- package/agents/worker-forge/agents/knowledge-curator.md +0 -170
- package/agents/worker-forge/agents/role-designer.md +0 -150
- package/agents/worker-forge/agents/worker-chief.md +0 -273
- package/agents/worker-forge/agents/worker-smith.md +0 -258
- package/agents/worker-forge/data/worker-forge-kb.md +0 -264
- package/agents/worker-forge/knowledge/autonomous-agent-architectures.md +0 -275
- package/agents/worker-forge/knowledge/delegation-competency-performance.md +0 -256
- package/agents/worker-forge/knowledge/job-design-business-systems.md +0 -296
- package/agents/worker-forge/knowledge/knowledge-management-improvement.md +0 -242
- package/agents/worker-forge/skill.md +0 -7
- package/agents/worker-forge/squad.yaml +0 -101
- package/agents/worker-forge/tasks/assemble-worker.md +0 -239
- package/agents/worker-forge/tasks/discover-needs.md +0 -219
- package/agents/worker-forge/tasks/playback-validate.md +0 -126
- package/agents/worker-forge/tasks/propose-worker.md +0 -112
- package/agents/worker-forge/tasks/research-domain.md +0 -165
- package/agents/worker-forge/tasks/start.md +0 -67
- package/agents/worker-forge/tasks/validate-worker.md +0 -155
- package/agents/worker-forge/workflows/wf-worker-forge.yaml +0 -96
- package/docs/stories/AUROQ-2.1.0-hybrid-runtime.md +0 -64
- package/tests/installer-hybrid.test.mjs +0 -66
- package/tests/onepassword.test.mjs +0 -54
- package/tests/sync-codex-skills.test.mjs +0 -88
- /package/{agents → seeds/agents}/companion/data/contexto-dinamico.md +0 -0
- /package/{agents → seeds/agents}/companion/data/demandas-backlog.md +0 -0
- /package/{agents → seeds/agents}/companion/data/log-decisoes.md +0 -0
- /package/{agents → seeds/agents}/companion/data/padroes-observados.md +0 -0
- /package/{agents → seeds/agents}/companion/knowledge/expert-essencial.md +0 -0
- /package/{business → seeds/business}/campanhas/_template/BRIEFING.md +0 -0
- /package/{business → seeds/business}/campanhas/_template/CHECKLIST.md +0 -0
- /package/{business → seeds/business}/campanhas/_template/DIARIO.md +0 -0
- /package/{business → seeds/business}/campanhas/_template/RETROVISOR.md +0 -0
- /package/{business → seeds/business}/cockpit.md +0 -0
- /package/{business → seeds/business}/templates/tracker-template.md +0 -0
- /package/{docs → seeds/docs}/knowledge/expert-business/criacoes/.gitkeep +0 -0
- /package/{docs → seeds/docs}/knowledge/expert-business/posicionamento/.gitkeep +0 -0
- /package/{docs → seeds/docs}/knowledge/expert-business/posicionamento.md +0 -0
- /package/{docs → seeds/docs}/knowledge/expert-business/produto/.gitkeep +0 -0
- /package/{docs → seeds/docs}/knowledge/expert-business/publico-alvo.md +0 -0
- /package/{docs → seeds/docs}/knowledge/expert-mind/assessments/.gitkeep +0 -0
- /package/{docs → seeds/docs}/knowledge/expert-mind/historia.md +0 -0
- /package/{docs → seeds/docs}/knowledge/expert-mind/identidade/.gitkeep +0 -0
- /package/{docs → seeds/docs}/knowledge/expert-mind/identidade.md +0 -0
- /package/{docs → seeds/docs}/knowledge/expert-mind/proposito/.gitkeep +0 -0
- /package/{docs → seeds/docs}/knowledge/expert-mind/tom-de-voz.md +0 -0
- /package/{docs → seeds/docs}/knowledge/expert-mind/valores.md +0 -0
|
@@ -1,578 +0,0 @@
|
|
|
1
|
-
# Task: Ingestao de Conteudo Local
|
|
2
|
-
|
|
3
|
-
**Task ID:** clone-forge/ingest-local-content
|
|
4
|
-
**Version:** 1.0.0
|
|
5
|
-
**Status:** Production Ready
|
|
6
|
-
**Created:** 2026-03-02
|
|
7
|
-
**Category:** Source Ingestion Pipeline
|
|
8
|
-
**Execution Type:** Interactive
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## Executive Summary
|
|
13
|
-
|
|
14
|
-
Fase 0 do pipeline Clone Forge. Recebe QUALQUER formato de conteudo do usuario (video, audio, PDF, docs, texto puro, URLs do YouTube, redes sociais, texto colado, skills Auroq, assessments) e normaliza tudo para markdown. Tudo que entra passa por um handler de tipo, e transcrito/extraido/normalizado e salvo em `01-sources/`. Esta fase e opcional — se o usuario nao tem conteudo local, pode pular direto para Fase 1 (coleta web).
|
|
15
|
-
|
|
16
|
-
**Posicao no Workflow:** Fase 0 — Entry point do pipeline Clone Forge
|
|
17
|
-
**Definicao de Sucesso:** Todo conteudo do usuario normalizado em markdown e indexado
|
|
18
|
-
**Quality Gate de Output:** Pelo menos 1 fonte normalizada salva com metadados completos
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## Purpose
|
|
23
|
-
|
|
24
|
-
O Clone Forge precisa de materia-prima para clonar. A fonte MAIS rica e o que o proprio sujeito ja produziu: videos, podcasts, livros, posts, aulas, mentorias gravadas, mensagens. Essa task aceita tudo que o usuario tiver e normaliza para um formato unico (markdown com frontmatter YAML) que o resto do pipeline consegue consumir.
|
|
25
|
-
|
|
26
|
-
Sem esta task, o pipeline dependeria 100% de coleta web (Fase 1), perdendo o conteudo mais valioso — o que o expert ja produziu e tem no computador.
|
|
27
|
-
|
|
28
|
-
O handler de tipos em `data/source-type-handlers.yaml` define como cada formato e processado. A task segue esse handbook sem inventar.
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Execution Type
|
|
33
|
-
|
|
34
|
-
**Interactive (70% Human, 30% Agent)**
|
|
35
|
-
|
|
36
|
-
- **Papel do Human:** Fornecer caminhos de arquivos, URLs, colar texto, indicar o que tem disponivel
|
|
37
|
-
- **Papel do Agent:** Identificar tipo, processar, transcrever, normalizar, indexar
|
|
38
|
-
- **Runtime Estimado:** 30-60 minutos (depende da quantidade de conteudo)
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## Inputs
|
|
43
|
-
|
|
44
|
-
### Inputs Obrigatorios
|
|
45
|
-
|
|
46
|
-
```yaml
|
|
47
|
-
mind_slug:
|
|
48
|
-
field: "Identificador unico da mente sendo clonada"
|
|
49
|
-
format: "string (snake_case)"
|
|
50
|
-
required: true
|
|
51
|
-
example: "joao_silva"
|
|
52
|
-
notes: "Usado para criar o diretorio de output em minds/{slug}/"
|
|
53
|
-
|
|
54
|
-
manifest_path:
|
|
55
|
-
field: "Caminho para o manifest.yaml da mind"
|
|
56
|
-
format: "path"
|
|
57
|
-
required: true
|
|
58
|
-
location: "agents/clone-forge/minds/{mind_slug}/manifest.yaml"
|
|
59
|
-
notes: "Criado pela task start. Atualizado ao final desta task."
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Inputs Opcionais
|
|
63
|
-
|
|
64
|
-
```yaml
|
|
65
|
-
local_files:
|
|
66
|
-
field: "Lista de caminhos para arquivos locais"
|
|
67
|
-
format: "list of paths"
|
|
68
|
-
required: false
|
|
69
|
-
examples:
|
|
70
|
-
- "~/Downloads/minha-palestra.mp4"
|
|
71
|
-
- "~/Documents/meu-livro.pdf"
|
|
72
|
-
- "~/NDF/teorias/*.md"
|
|
73
|
-
notes: "Aceita globs. Subpastas sao processadas recursivamente."
|
|
74
|
-
|
|
75
|
-
youtube_urls:
|
|
76
|
-
field: "URLs de videos do YouTube para transcrever"
|
|
77
|
-
format: "list of URLs"
|
|
78
|
-
required: false
|
|
79
|
-
examples:
|
|
80
|
-
- "https://youtube.com/watch?v=abc123"
|
|
81
|
-
- "https://youtu.be/def456"
|
|
82
|
-
|
|
83
|
-
pasted_content:
|
|
84
|
-
field: "Texto colado diretamente pelo usuario"
|
|
85
|
-
format: "text"
|
|
86
|
-
required: false
|
|
87
|
-
notes: "Pedir contexto: de onde veio, quando foi escrito, para quem"
|
|
88
|
-
|
|
89
|
-
auroq_skill_path:
|
|
90
|
-
field: "Diretorio de uma skill Auroq ja existente"
|
|
91
|
-
format: "path"
|
|
92
|
-
required: false
|
|
93
|
-
example: "~/Downloads/skills/expert-content/"
|
|
94
|
-
notes: "Skills Auroq sao pre-processadas — alta qualidade, Tier 1"
|
|
95
|
-
|
|
96
|
-
assessment_path:
|
|
97
|
-
field: "YAML de resultado de assessment (ex: Zona Genialidade)"
|
|
98
|
-
format: "path"
|
|
99
|
-
required: false
|
|
100
|
-
notes: "Assessment formal supera estimativa — Tier 0"
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## Precondicoes
|
|
106
|
-
|
|
107
|
-
Antes de iniciar esta task:
|
|
108
|
-
|
|
109
|
-
- [ ] Mind slug definido e diretorio `minds/{slug}/` criado (task `start` executada)
|
|
110
|
-
- [ ] Diretorio `minds/{slug}/01-sources/` existe com subpastas `raw/`, `transcripts/`, `interview/`
|
|
111
|
-
- [ ] `data/source-type-handlers.yaml` acessivel e valido
|
|
112
|
-
- [ ] manifest.yaml criado com metadados basicos da mind
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## Steps
|
|
117
|
-
|
|
118
|
-
### Step 1: Elicitacao — O que voce tem? (3-5 min)
|
|
119
|
-
|
|
120
|
-
**Atividade do Agent:**
|
|
121
|
-
Perguntar ao usuario o que ele tem disponivel. Apresentar opcoes claras.
|
|
122
|
-
|
|
123
|
-
**Elicitacao:**
|
|
124
|
-
|
|
125
|
-
```yaml
|
|
126
|
-
elicit: true
|
|
127
|
-
prompt: |
|
|
128
|
-
Pra comecar a clonagem, preciso saber que conteudo voce ja tem disponivel.
|
|
129
|
-
Pode ser QUALQUER coisa — quanto mais, melhor o clone.
|
|
130
|
-
|
|
131
|
-
O que voce tem?
|
|
132
|
-
|
|
133
|
-
1. Arquivos locais (video, audio, PDF, docs, markdown)
|
|
134
|
-
2. URLs do YouTube (videos seus ou entrevistas)
|
|
135
|
-
3. Texto pra colar (posts, emails, mensagens, rascunhos)
|
|
136
|
-
4. Skill Auroq ja pronta (diretorio de skill)
|
|
137
|
-
5. Assessment formal (Zona Genialidade, DISC, etc)
|
|
138
|
-
6. Varios dos acima (vou perguntar um por um)
|
|
139
|
-
7. Nenhum / pular esta fase
|
|
140
|
-
|
|
141
|
-
Pode escolher mais de um. Se tiver duvida, escolhe 6 que eu te guio.
|
|
142
|
-
type: "numbered_choice"
|
|
143
|
-
options: [1, 2, 3, 4, 5, 6, 7]
|
|
144
|
-
default: 6
|
|
145
|
-
on_7: "Pular para Fase 1 (collect-and-merge-sources). Registrar skip no manifest."
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
**Se usuario escolhe 7 (pular):**
|
|
149
|
-
- Registrar no manifest: `phase_0: { status: skipped, reason: "no local content" }`
|
|
150
|
-
- Finalizar task com output vazio
|
|
151
|
-
- Nao bloquear pipeline
|
|
152
|
-
|
|
153
|
-
**Se usuario escolhe 1-6:**
|
|
154
|
-
- Prosseguir para Step 2 para cada tipo selecionado
|
|
155
|
-
|
|
156
|
-
**Checkpoint:** Usuario indicou quais tipos de conteudo tem. Pronto para processar.
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
### Step 2: Coleta de Caminhos e URLs (5-10 min)
|
|
161
|
-
|
|
162
|
-
**Atividade do Agent:**
|
|
163
|
-
Para cada tipo selecionado no Step 1, perguntar os detalhes:
|
|
164
|
-
|
|
165
|
-
**Para arquivos locais:**
|
|
166
|
-
|
|
167
|
-
```yaml
|
|
168
|
-
elicit: true
|
|
169
|
-
prompt: |
|
|
170
|
-
Me passa o caminho dos arquivos. Pode ser:
|
|
171
|
-
- Um arquivo especifico: ~/Downloads/palestra.mp4
|
|
172
|
-
- Uma pasta inteira: ~/Documents/meu-conteudo/
|
|
173
|
-
- Um glob: ~/NDF/**/*.md
|
|
174
|
-
|
|
175
|
-
Cole os caminhos (um por linha):
|
|
176
|
-
type: "free_text"
|
|
177
|
-
validation: "Verificar se caminhos existem. Reportar quais nao foram encontrados."
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
**Para YouTube URLs:**
|
|
181
|
-
|
|
182
|
-
```yaml
|
|
183
|
-
elicit: true
|
|
184
|
-
prompt: |
|
|
185
|
-
Cole as URLs do YouTube (uma por linha).
|
|
186
|
-
Pode ser qualquer formato:
|
|
187
|
-
- https://youtube.com/watch?v=abc123
|
|
188
|
-
- https://youtu.be/abc123
|
|
189
|
-
type: "free_text"
|
|
190
|
-
validation: "Verificar formato de URL valido."
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
**Para texto colado:**
|
|
194
|
-
|
|
195
|
-
```yaml
|
|
196
|
-
elicit: true
|
|
197
|
-
prompt: |
|
|
198
|
-
Cola o texto aqui. Antes de colar, me diz:
|
|
199
|
-
1. De onde veio? (post, email, mensagem, rascunho, etc)
|
|
200
|
-
2. Quando foi escrito? (data aproximada)
|
|
201
|
-
3. Pra quem era? (publico, privado, resposta a alguem)
|
|
202
|
-
type: "free_text"
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
**Para skill Auroq:**
|
|
206
|
-
|
|
207
|
-
```yaml
|
|
208
|
-
elicit: true
|
|
209
|
-
prompt: |
|
|
210
|
-
Me passa o caminho do diretorio da skill.
|
|
211
|
-
Exemplo: ~/Downloads/skills/expert-content/
|
|
212
|
-
type: "free_text"
|
|
213
|
-
validation: "Verificar se diretorio existe e contem arquivos de skill."
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
**Para assessment:**
|
|
217
|
-
|
|
218
|
-
```yaml
|
|
219
|
-
elicit: true
|
|
220
|
-
prompt: |
|
|
221
|
-
Me passa o caminho do arquivo de assessment.
|
|
222
|
-
Exemplo: agents/zona-genialidade/data/{mind_slug}/assessment-result.yaml
|
|
223
|
-
type: "free_text"
|
|
224
|
-
validation: "Verificar se YAML e valido e contem dados de assessment."
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
**Checkpoint:** Todos os inputs coletados, caminhos validados. Pronto para processar.
|
|
228
|
-
|
|
229
|
-
---
|
|
230
|
-
|
|
231
|
-
### Step 3: Identificacao de Tipo e Handler (2-3 min)
|
|
232
|
-
|
|
233
|
-
**Atividade do Agent:**
|
|
234
|
-
|
|
235
|
-
1. Para cada input coletado, identificar o tipo usando `data/source-type-handlers.yaml`
|
|
236
|
-
2. Mapear extensao ou formato para o handler correto:
|
|
237
|
-
|
|
238
|
-
```yaml
|
|
239
|
-
type_identification:
|
|
240
|
-
rules:
|
|
241
|
-
- extension_match: "Verificar extensao do arquivo contra handlers"
|
|
242
|
-
- url_match: "Se contem youtube.com ou youtu.be → handler youtube"
|
|
243
|
-
- directory_match: "Se contem arquivos de skill Auroq → handler auroq_skill"
|
|
244
|
-
- yaml_content: "Se YAML com campos de assessment → handler assessment"
|
|
245
|
-
- fallback: "Se nao bate em nenhum → handler pasted_text"
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
3. Gerar plano de processamento:
|
|
249
|
-
|
|
250
|
-
```yaml
|
|
251
|
-
processing_plan:
|
|
252
|
-
items:
|
|
253
|
-
- id: "SRC-001"
|
|
254
|
-
original_path: "~/Downloads/palestra.mp4"
|
|
255
|
-
type: "video"
|
|
256
|
-
handler: "video"
|
|
257
|
-
estimated_time: "5-10 min"
|
|
258
|
-
steps: ["extrair audio", "transcrever", "normalizar", "salvar"]
|
|
259
|
-
- id: "SRC-002"
|
|
260
|
-
original_path: "~/Documents/meu-livro.pdf"
|
|
261
|
-
type: "pdf"
|
|
262
|
-
handler: "pdf"
|
|
263
|
-
estimated_time: "2-3 min"
|
|
264
|
-
steps: ["extrair texto", "preservar estrutura", "normalizar", "salvar"]
|
|
265
|
-
total_items: N
|
|
266
|
-
estimated_total_time: "X min"
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
4. Apresentar plano ao usuario antes de processar:
|
|
270
|
-
|
|
271
|
-
```yaml
|
|
272
|
-
elicit: true
|
|
273
|
-
prompt: |
|
|
274
|
-
Encontrei {N} itens pra processar:
|
|
275
|
-
|
|
276
|
-
| # | Arquivo | Tipo | Tempo Est. |
|
|
277
|
-
|---|---------|------|-----------|
|
|
278
|
-
| 1 | palestra.mp4 | Video | 5-10 min |
|
|
279
|
-
| 2 | meu-livro.pdf | PDF | 2-3 min |
|
|
280
|
-
|
|
281
|
-
Confirma pra eu comecar? (s/n)
|
|
282
|
-
Se quiser tirar algum, me diz o numero.
|
|
283
|
-
type: "confirmation"
|
|
284
|
-
default: "s"
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
**Checkpoint:** Plano de processamento aprovado pelo usuario.
|
|
288
|
-
|
|
289
|
-
---
|
|
290
|
-
|
|
291
|
-
### Step 4: Processamento e Normalizacao (10-30 min)
|
|
292
|
-
|
|
293
|
-
**Atividade do Agent:**
|
|
294
|
-
Processar cada item seguindo o handler definido em `source-type-handlers.yaml`.
|
|
295
|
-
|
|
296
|
-
**Para cada fonte:**
|
|
297
|
-
|
|
298
|
-
1. **Processar conforme handler:**
|
|
299
|
-
- **Video/Audio:** Transcrever via Whisper (ou fallback: pedir colagem manual)
|
|
300
|
-
- **PDF:** Extrair texto preservando estrutura (Read tool para PDFs pequenos, pagina por pagina para grandes)
|
|
301
|
-
- **Document:** Converter com textutil/pandoc, normalizar para markdown
|
|
302
|
-
- **Text/Markdown:** Ler direto, normalizar formatacao
|
|
303
|
-
- **YouTube:** Extrair transcript via MCP youtube-transcript, ou fallback yt-dlp + whisper
|
|
304
|
-
- **Social Media:** Coletar via Apify ou pedir colagem manual
|
|
305
|
-
- **Pasted Text:** Salvar com metadados de contexto
|
|
306
|
-
- **Auroq Skill:** Ler todos os arquivos, extrair persona/voice/thinking
|
|
307
|
-
- **Assessment:** Ler YAML, extrair scores/perfis/recomendacoes
|
|
308
|
-
|
|
309
|
-
2. **Normalizar para markdown com frontmatter:**
|
|
310
|
-
|
|
311
|
-
```yaml
|
|
312
|
-
# Frontmatter padrao (de source-type-handlers.yaml)
|
|
313
|
-
---
|
|
314
|
-
source_id: "SRC-{seq:3}-{slug}"
|
|
315
|
-
type: "{source_type}"
|
|
316
|
-
tier: {tier_default_do_handler}
|
|
317
|
-
original_format: "{extension}"
|
|
318
|
-
ingestion_date: "{date}"
|
|
319
|
-
word_count: {count}
|
|
320
|
-
language: "{lang}"
|
|
321
|
-
metadata:
|
|
322
|
-
title: "{title}"
|
|
323
|
-
author: "{author}"
|
|
324
|
-
date: "{original_date}"
|
|
325
|
-
---
|
|
326
|
-
|
|
327
|
-
# {Title}
|
|
328
|
-
|
|
329
|
-
{conteudo normalizado em markdown}
|
|
330
|
-
```
|
|
331
|
-
|
|
332
|
-
3. **Salvar no diretorio correto:**
|
|
333
|
-
- Transcricoes (video/audio/youtube): `01-sources/transcripts/{source_id}.md`
|
|
334
|
-
- Demais (PDF, docs, texto, skills): `01-sources/raw/{source_id}.md`
|
|
335
|
-
|
|
336
|
-
4. **Aplicar tier_upgrade_if quando aplicavel:**
|
|
337
|
-
- Entrevista longa/Q&A espontaneo: video/audio Tier 2 → Tier 1
|
|
338
|
-
- Livro proprio/material de curso: PDF Tier 1 → Tier 1 (confirma)
|
|
339
|
-
- Resposta a comentario/stories espontaneos: social Tier 2 → Tier 1
|
|
340
|
-
- Assessment formal: Tier 0 sempre
|
|
341
|
-
|
|
342
|
-
5. **Reportar progresso ao usuario:**
|
|
343
|
-
|
|
344
|
-
```
|
|
345
|
-
Processando [2/5]: meu-livro.pdf
|
|
346
|
-
Tipo: PDF | Handler: pdf
|
|
347
|
-
Paginas: 120 | Palavras: ~35.000
|
|
348
|
-
Tier: 1 (conteudo proprio)
|
|
349
|
-
Status: Normalizado → salvo em 01-sources/raw/SRC-002-meu-livro.md
|
|
350
|
-
```
|
|
351
|
-
|
|
352
|
-
**Checkpoint:** Todos os itens processados. Nenhum pendente ou falhado.
|
|
353
|
-
|
|
354
|
-
---
|
|
355
|
-
|
|
356
|
-
### Step 5: Criar Indice de Fontes Locais (2-3 min)
|
|
357
|
-
|
|
358
|
-
**Atividade do Agent:**
|
|
359
|
-
|
|
360
|
-
1. Compilar todas as fontes processadas no indice local:
|
|
361
|
-
|
|
362
|
-
```yaml
|
|
363
|
-
# 01-sources/local-sources-index.yaml
|
|
364
|
-
local_sources_index:
|
|
365
|
-
generated_at: "2026-03-02T10:00:00Z"
|
|
366
|
-
mind_slug: "{slug}"
|
|
367
|
-
total_sources: N
|
|
368
|
-
total_words: XXXXX
|
|
369
|
-
processing_summary:
|
|
370
|
-
successful: N
|
|
371
|
-
failed: 0
|
|
372
|
-
skipped: 0
|
|
373
|
-
|
|
374
|
-
sources:
|
|
375
|
-
- source_id: "SRC-001-palestra"
|
|
376
|
-
original_path: "~/Downloads/palestra.mp4"
|
|
377
|
-
normalized_path: "01-sources/transcripts/SRC-001-palestra.md"
|
|
378
|
-
type: "video"
|
|
379
|
-
tier: 1
|
|
380
|
-
processing_method: "whisper_transcription"
|
|
381
|
-
processing_status: "completed"
|
|
382
|
-
word_count: 5200
|
|
383
|
-
language: "pt-BR"
|
|
384
|
-
metadata:
|
|
385
|
-
title: "Palestra sobre NDF"
|
|
386
|
-
duration_seconds: 3600
|
|
387
|
-
date: "2025-11-15"
|
|
388
|
-
|
|
389
|
-
- source_id: "SRC-002-meu-livro"
|
|
390
|
-
original_path: "~/Documents/meu-livro.pdf"
|
|
391
|
-
normalized_path: "01-sources/raw/SRC-002-meu-livro.md"
|
|
392
|
-
type: "pdf"
|
|
393
|
-
tier: 1
|
|
394
|
-
processing_method: "pdf_text_extraction"
|
|
395
|
-
processing_status: "completed"
|
|
396
|
-
word_count: 35000
|
|
397
|
-
language: "pt-BR"
|
|
398
|
-
metadata:
|
|
399
|
-
title: "Meu Livro"
|
|
400
|
-
page_count: 120
|
|
401
|
-
author: "Nome do Expert"
|
|
402
|
-
```
|
|
403
|
-
|
|
404
|
-
2. Salvar em `minds/{slug}/01-sources/local-sources-index.yaml`
|
|
405
|
-
|
|
406
|
-
**Checkpoint:** Indice criado com todas as fontes locais catalogadas.
|
|
407
|
-
|
|
408
|
-
---
|
|
409
|
-
|
|
410
|
-
### Step 6: Atualizar Manifest e Reportar (2 min)
|
|
411
|
-
|
|
412
|
-
**Atividade do Agent:**
|
|
413
|
-
|
|
414
|
-
1. Atualizar manifest.yaml:
|
|
415
|
-
|
|
416
|
-
```yaml
|
|
417
|
-
phase_0:
|
|
418
|
-
status: completed
|
|
419
|
-
completed_at: "2026-03-02T10:30:00Z"
|
|
420
|
-
duration_minutes: 35
|
|
421
|
-
sources_ingested: N
|
|
422
|
-
total_words: XXXXX
|
|
423
|
-
types_processed:
|
|
424
|
-
- video: 1
|
|
425
|
-
- pdf: 2
|
|
426
|
-
- text: 3
|
|
427
|
-
index_path: "01-sources/local-sources-index.yaml"
|
|
428
|
-
```
|
|
429
|
-
|
|
430
|
-
2. Apresentar resumo ao usuario:
|
|
431
|
-
|
|
432
|
-
```yaml
|
|
433
|
-
elicit: false
|
|
434
|
-
output: |
|
|
435
|
-
Fase 0 concluida.
|
|
436
|
-
|
|
437
|
-
| Metrica | Valor |
|
|
438
|
-
|---------|-------|
|
|
439
|
-
| Fontes processadas | {N} |
|
|
440
|
-
| Palavras totais | {XXXXX} |
|
|
441
|
-
| Tipos | {video: 1, pdf: 2, text: 3} |
|
|
442
|
-
| Tier 0 (ouro maximo) | {N} fontes |
|
|
443
|
-
| Tier 1 (alta qualidade) | {N} fontes |
|
|
444
|
-
| Tier 2 (curado) | {N} fontes |
|
|
445
|
-
| Falhas | {0} |
|
|
446
|
-
|
|
447
|
-
Tudo salvo em minds/{slug}/01-sources/.
|
|
448
|
-
Proximo passo: Fase 1 — Coleta e Validacao de Fontes.
|
|
449
|
-
```
|
|
450
|
-
|
|
451
|
-
**Checkpoint:** Manifest atualizado. Usuario informado. Pronto para Fase 1.
|
|
452
|
-
|
|
453
|
-
---
|
|
454
|
-
|
|
455
|
-
## Outputs
|
|
456
|
-
|
|
457
|
-
### Output Primario
|
|
458
|
-
|
|
459
|
-
**Fontes Normalizadas**
|
|
460
|
-
|
|
461
|
-
Formato: Markdown com frontmatter YAML
|
|
462
|
-
Localizacao: `agents/clone-forge/minds/{slug}/01-sources/raw/` e `01-sources/transcripts/`
|
|
463
|
-
Quantidade: 1 arquivo por fonte processada
|
|
464
|
-
|
|
465
|
-
### Outputs Secundarios
|
|
466
|
-
|
|
467
|
-
1. **Indice de Fontes Locais**
|
|
468
|
-
- Formato: YAML
|
|
469
|
-
- Localizacao: `agents/clone-forge/minds/{slug}/01-sources/local-sources-index.yaml`
|
|
470
|
-
- Conteudo: Catalogo completo de todas as fontes locais com metadados
|
|
471
|
-
|
|
472
|
-
2. **Manifest Atualizado**
|
|
473
|
-
- Formato: YAML
|
|
474
|
-
- Localizacao: `agents/clone-forge/minds/{slug}/manifest.yaml`
|
|
475
|
-
- Conteudo: Status da Fase 0 com metricas
|
|
476
|
-
|
|
477
|
-
---
|
|
478
|
-
|
|
479
|
-
## Validacao
|
|
480
|
-
|
|
481
|
-
### Checklist
|
|
482
|
-
|
|
483
|
-
- [ ] Pelo menos 1 fonte normalizada salva (se usuario nao pulou)
|
|
484
|
-
- [ ] Toda fonte tem frontmatter YAML com source_id, type, tier, word_count
|
|
485
|
-
- [ ] Naming convention SRC-{seq:3}-{slug}.md seguida
|
|
486
|
-
- [ ] Transcricoes salvas em `01-sources/transcripts/`
|
|
487
|
-
- [ ] Demais fontes salvas em `01-sources/raw/`
|
|
488
|
-
- [ ] local-sources-index.yaml criado com todas as fontes
|
|
489
|
-
- [ ] Nenhuma fonte com processing_status = "failed" sem fallback
|
|
490
|
-
- [ ] Manifest atualizado com status da Fase 0
|
|
491
|
-
- [ ] Tiers atribuidos conforme source-type-handlers.yaml
|
|
492
|
-
- [ ] Usuario informado do resultado
|
|
493
|
-
|
|
494
|
-
### Criterios de Sucesso
|
|
495
|
-
|
|
496
|
-
**Threshold: 8/10 no checklist acima**
|
|
497
|
-
|
|
498
|
-
| Criterio | Excelente (3) | Aceitavel (2) | Fraco (1) |
|
|
499
|
-
|----------|--------------|----------------|---------|
|
|
500
|
-
| **Cobertura** | Todo conteudo do usuario processado sem falhas | 90%+ processado, 1-2 falhas com fallback | Falhas sem fallback |
|
|
501
|
-
| **Normalizacao** | Frontmatter completo, formatacao limpa, estrutura preservada | Frontmatter presente, formatacao aceitavel | Frontmatter incompleto ou formatacao quebrada |
|
|
502
|
-
| **Tiering** | Tiers corretos com upgrades aplicados onde devido | Tiers padrao aplicados corretamente | Tiers errados |
|
|
503
|
-
| **UX** | Progresso claro, confirmacoes, resumo final | Processamento transparente | Usuario no escuro sobre o que aconteceu |
|
|
504
|
-
|
|
505
|
-
---
|
|
506
|
-
|
|
507
|
-
## Error Handling
|
|
508
|
-
|
|
509
|
-
```yaml
|
|
510
|
-
errors:
|
|
511
|
-
unsupported_format:
|
|
512
|
-
description: "Formato de arquivo nao reconhecido"
|
|
513
|
-
action: "Informar usuario, pedir para converter para PDF ou TXT"
|
|
514
|
-
fallback: "Tratar como texto puro se possivel"
|
|
515
|
-
severity: "warning"
|
|
516
|
-
|
|
517
|
-
transcription_failed:
|
|
518
|
-
description: "Whisper ou outro transcriber falhou"
|
|
519
|
-
action: "Pedir ao usuario para colar a transcricao manualmente"
|
|
520
|
-
fallback: "Marcar fonte como pending, prosseguir com as demais"
|
|
521
|
-
severity: "warning"
|
|
522
|
-
|
|
523
|
-
file_not_found:
|
|
524
|
-
description: "Caminho fornecido nao existe"
|
|
525
|
-
action: "Reportar ao usuario, pedir novo caminho"
|
|
526
|
-
fallback: "Pular fonte, continuar com as demais"
|
|
527
|
-
severity: "warning"
|
|
528
|
-
|
|
529
|
-
youtube_blocked:
|
|
530
|
-
description: "Transcricao do YouTube nao disponivel"
|
|
531
|
-
action: "Tentar yt-dlp + whisper. Se falhar, pedir colagem manual."
|
|
532
|
-
fallback: "Marcar como pending"
|
|
533
|
-
severity: "warning"
|
|
534
|
-
|
|
535
|
-
file_too_large:
|
|
536
|
-
description: "Arquivo > 10MB normalizado"
|
|
537
|
-
action: "Dividir em partes menores (por capitulo, por secao)"
|
|
538
|
-
fallback: "Processar parcialmente, documentar limitacao"
|
|
539
|
-
severity: "warning"
|
|
540
|
-
|
|
541
|
-
empty_content:
|
|
542
|
-
description: "Arquivo existe mas esta vazio ou ilegivel"
|
|
543
|
-
action: "Reportar ao usuario, pedir versao alternativa"
|
|
544
|
-
fallback: "Pular fonte"
|
|
545
|
-
severity: "error"
|
|
546
|
-
```
|
|
547
|
-
|
|
548
|
-
---
|
|
549
|
-
|
|
550
|
-
## Integracao
|
|
551
|
-
|
|
552
|
-
### Depende De
|
|
553
|
-
|
|
554
|
-
- **Task:** `start` — Cria o diretorio `minds/{slug}/` e manifest.yaml
|
|
555
|
-
|
|
556
|
-
### Alimenta
|
|
557
|
-
|
|
558
|
-
- **Task:** `collect-and-merge-sources` (Fase 1) — Consome `local-sources-index.yaml` para merge com fontes web
|
|
559
|
-
- **Task:** `deep-interview` (Fase 1.5) — Usa quantidade de fontes locais para calcular coverage
|
|
560
|
-
- **Task:** `extract-mius` (Fase 2) — Consome fontes normalizadas em `01-sources/`
|
|
561
|
-
|
|
562
|
-
### Chained Tasks
|
|
563
|
-
|
|
564
|
-
```yaml
|
|
565
|
-
chain:
|
|
566
|
-
previous: start
|
|
567
|
-
next: collect-and-merge-sources
|
|
568
|
-
skip_condition: "Usuario escolheu opcao 7 (nenhum conteudo local)"
|
|
569
|
-
skip_behavior: "Pular para Fase 1 sem bloquear pipeline"
|
|
570
|
-
```
|
|
571
|
-
|
|
572
|
-
---
|
|
573
|
-
|
|
574
|
-
## Historico de Revisoes
|
|
575
|
-
|
|
576
|
-
| Versao | Data | Mudanca |
|
|
577
|
-
|---------|------|--------|
|
|
578
|
-
| 1.0.0 | 2026-03-02 | Release inicial de producao |
|