Skip to content

Commit 3ace9a0

Browse files
author
marce
committed
Evo-15: Menu Flexivel com Submenus + Plugin Registry
menu.py (580 lines): - MenuNode recursivo com submenus hierarquicos - MenuEngine com auto-descoberta de 8 categorias - 4 reasoning engines integrados (Z3, SymPy, Kanren, Critical) - Busca textual recursiva em toda a arvore - Navegacao por teclado (n°, b, q, /busca, h) - MenuRenderer com formatacao terminal (cores, fallback Win) - InteractiveMenu com loop de eventos .menu_registry.json: 4 plugins ativos + exemplo tests/test_menu.py: 27/27 TDD tests specs/SPEC_MENU.md: SDD spec com 9 CTs
1 parent b64f631 commit 3ace9a0

4 files changed

Lines changed: 880 additions & 102 deletions

File tree

.menu_registry.json

Lines changed: 46 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -1,107 +1,51 @@
11
{
2-
"project": "Antiprojeto UFC — PPGTE/UFC",
3-
"ecosystem_ref": "OpenCode v4.3.0",
4-
"version": "3.0",
5-
"updated": "2026-05-30T15:05:00Z",
6-
"commands": {
7-
"audit": {
8-
"domain-shift": {
9-
"description": "Executa auditoria de domain shift (Camada 1B SPEC-008-B)",
10-
"script": "artigo/evaluations/domain_shift_audit.py",
11-
"runtime": "python",
12-
"output": "artigo/evaluations/domain_shift_audit_output.json",
13-
"category": "validacao"
14-
},
15-
"tdd-all": {
16-
"description": "Executa todos os 58 testes TDD (5 suites SPEC-008/008-B/009/010/011)",
17-
"script": "artigo/evaluations/tests/run_all_benchmarks.py",
18-
"runtime": "python",
19-
"category": "testes"
20-
},
21-
"anticircularidade": {
22-
"description": "Suite TDD SPEC-008 (Triangulacao Anti-Circularidade, 14 CTs)",
23-
"script": "artigo/evaluations/tests/test_anticircularidade.py",
24-
"runtime": "python",
25-
"category": "testes"
26-
},
27-
"camada1b": {
28-
"description": "Suite TDD SPEC-008-B (Camada 1B Domain Shift, 9 CTs)",
29-
"script": "artigo/evaluations/tests/test_domain_shift_camada1b.py",
30-
"runtime": "python",
31-
"category": "testes"
32-
},
33-
"d1-matematica": {
34-
"description": "Suite TDD SPEC-009 (D1 Matematica, 14 CTs)",
35-
"script": "artigo/evaluations/tests/test_d1_matematica.py",
36-
"runtime": "python",
37-
"category": "testes"
38-
},
39-
"d2-fisica": {
40-
"description": "Suite TDD SPEC-010 (D2 Fisica, 8 CTs)",
41-
"script": "artigo/evaluations/tests/test_d2_fisica.py",
42-
"runtime": "python",
43-
"category": "testes"
44-
},
45-
"d9-metodologia": {
46-
"description": "Suite TDD SPEC-011 (D9 Metodologia, 12 CTs)",
47-
"script": "artigo/evaluations/tests/test_d9_metodologia.py",
48-
"runtime": "python",
49-
"category": "testes"
50-
}
2+
"version": "5.0.0",
3+
"description": "OpenCode Ecosystem Menu Registry — Adicione plugins de menu sem editar menu.py",
4+
"plugins": [
5+
{
6+
"name": "qualis-navigator",
7+
"key": "qualis_nav",
8+
"label": "Qualis Target Navigator",
9+
"description": "Navegador de periodicos com 7 fatores ponderados",
10+
"menu": "academic",
11+
"tags": ["qualis", "periodicos", "capes"],
12+
"enabled": true
5113
},
52-
"build": {
53-
"jaccard-pdf": {
54-
"description": "Compila documento Jaccard Domain Shift (27 laudas, 25 refs DOI)",
55-
"script": "artigo/jaccard_domain_shift_audit.tex",
56-
"runtime": "pdflatex",
57-
"output": "artigo/jaccard_domain_shift_audit.pdf",
58-
"category": "documentacao"
59-
}
14+
{
15+
"name": "provider-factory",
16+
"key": "provider_factory",
17+
"label": "Provider Factory (Multi-LLM)",
18+
"description": "Fallback automatico entre LLMs (Gemini, DeepSeek, Groq)",
19+
"menu": "tools",
20+
"tags": ["llm", "fallback", "multi-provider"],
21+
"enabled": true
6022
},
61-
"validate": {
62-
"compile": {
63-
"description": "Verifica compilacao de todos os .tex do projeto",
64-
"script": "artigo/tests/test_compile.py",
65-
"runtime": "python",
66-
"category": "qualidade"
67-
},
68-
"structure": {
69-
"description": "Verifica estrutura de todos os arquivos LaTeX",
70-
"script": "artigo/tests/test_structure.py",
71-
"runtime": "python",
72-
"category": "qualidade"
73-
},
74-
"quality": {
75-
"description": "Verifica qualidade (ABNT, TSAC, referencias)",
76-
"script": "artigo/tests/test_quality.py",
77-
"runtime": "python",
78-
"category": "qualidade"
79-
}
23+
{
24+
"name": "hot-reload-skills",
25+
"key": "hot_reload",
26+
"label": "Hot-Reload Skills",
27+
"description": "Recarregar skills sem reiniciar (file watcher)",
28+
"menu": "system",
29+
"tags": ["hot-reload", "skills", "watcher"],
30+
"enabled": true
31+
},
32+
{
33+
"name": "aletheia-math",
34+
"key": "aletheia_math",
35+
"label": "Aletheia Math Research",
36+
"description": "Pesquisa matematica autonoma com Generator-Verifier-Reviser",
37+
"menu": "reasoning",
38+
"tags": ["matematica", "prova", "aletheia"],
39+
"enabled": true
40+
},
41+
{
42+
"name": "example-plugin",
43+
"key": "example",
44+
"label": "Plugin Exemplo",
45+
"description": "Modelo para novos plugins — desabilite para ocultar",
46+
"menu": "tools",
47+
"tags": ["exemplo"],
48+
"enabled": false
8049
}
81-
},
82-
"skills": {
83-
"local": [
84-
"domain-shift-camada1b",
85-
"spec-009-d1-matematica",
86-
"spec-010-d2-fisica",
87-
"spec-011-d9-metodologia"
88-
],
89-
"external": [
90-
"opencode/domain-shift-camada1b"
91-
]
92-
},
93-
"specs": [
94-
"SPEC-008 (Triangulacao Anti-Circularidade, 14 CTs)",
95-
"SPEC-008-B (Camada 1B: Decomposicao Institucional, 9 CTs)",
96-
"SPEC-009 (D1: Raciocinio Matematico Formal, 14 CTs)",
97-
"SPEC-010 (D2: Modelagem de Sistemas Fisicos, 8 CTs)",
98-
"SPEC-011 (D9: Desenho Experimental e Metodologia, 12 CTs)"
99-
],
100-
"tdd_summary": {
101-
"total_suites": 5,
102-
"total_tests": 58,
103-
"passed": 58,
104-
"failed": 0,
105-
"last_run": "2026-05-30T15:05:00Z"
106-
}
50+
]
10751
}

0 commit comments

Comments
 (0)