Relatório E2E + Usabilidade Procyon 0.1.1 — template my-app (counter + my_app_token)
Data: 2026-08-23
Procyon: 0.1.1 (/home/dionebastos/.cargo/bin/procyon) — procyon --knowledge 50+ skills, provider=ollama qwen3:4b-instruct-2507-q4_K_M max_tokens=4096 allow_mainnet=false
Workspace: /home/dionebastos/Documentos/PROJETOS/my-app (Caatinga caatinga.config.ts:1) + nested my-app/.procyon/project.toml:1
Método: procyon --exec "prompt" (headless, mesmas tools do TUI) + verificação manual cargo test / ctg doctor / stellar keys ls
Issues vinculadas: #4 #5 #6 #7 #8
1) Saúde E2E do projeto (ground-truth)
| Camada |
Status |
Evidência |
Counter contracts/counter/src/lib.rs:1 |
✅ 4/4 |
cargo test --manifest-path contracts/counter/Cargo.toml → ok. 4 passed (get_returns_zero_before_increment, increments_counter, repeated_increments_preserve_state, increment_returns_overflow_error) |
MyAppToken my-app/contracts/my_app_token/src/lib.rs:1 |
✅ 5/5 |
cargo test → ok. 5 passed em 35s (mint/transfer/initialize) |
Frontend src/App.tsx:1, src/caatinga.ts:1 |
❌ bloqueado |
src/contracts/generated/counter/src/index.ts:1 placeholder __caatingaPlaceholder=true → PLACEHOLDER_BINDING. caatinga.artifacts.json:1 = contracts:{} vazio. npm ls → UNMET DEPENDENCY, npx tsc/npm run build → tsc: not found. vite.config.ts:1 aliases walletStubViteAliases ok mas sem node_modules |
| Caatinga Doctor |
❌ blocked |
npx ctg doctor → ✓ Node 22.22.0, stellar 27.0.0, rustc 1.97.1, wasm32v1-none mas ✗ Project dependencies not installed → Status: blocked |
| Deploy |
❌ sem contrato |
stellar keys ls → alice,deployer,e2e-tester existem, mas sem contractId em artifacts → caatinga_read/caatinga_invoke recusariam |
| WASM |
⚠️ divergente |
caatinga.config.ts:8 → wasm: ./contracts/counter/target/wasm32v1-none/release/counter.wasm mas inner my_app_token não declarado em contracts |
Conclusão: contratos Rust sadios, dApp quebrado em npm install → ctg build → ctg generate. Procyon diagnosticou corretamente a causa raiz.
2) Matriz Procyon --exec (10 prompts)
| Prompt |
Tool esperado |
Observado |
Latência |
How many contracts... |
glob/list_dir |
✅ counter |
~8s |
caatinga doctor |
caatinga_doctor |
✅ dependencies not installed + npm install |
~12s |
run_tests / Use the run_tests tool |
run_tests |
❌ hallucina I don't have run_tests (qwen3:4b) — tool existe em src/tools/test.rs |
~6s |
caatinga_build counter |
caatinga_build |
❌ This is not a Caatinga project: no caatinga.config.ts mesmo com caatinga.config.ts:1 presente (quando nested .procyon/ existe) |
~5s |
list_dir + read_file caatinga.config.ts |
list_dir+read_file |
✅ OK (read-only sem --allow-changes) |
~7s |
write_file procyon-e2e-write-test.txt sem --allow-changes |
write_file |
✅ gate correto: declined … Use --allow-changes sem escrever |
~4s |
write_file ... com --allow-changes |
write_file |
✅ cria teste123 |
~6s |
project_info no outer |
project_info |
❌ No .procyon/project.toml — outer usa Caatinga, não Procyon |
~4s |
caatinga_doctor no inner my-app/ |
caatinga_doctor |
❌ no caatinga.config.ts — inner é Procyon puro |
~4s |
grep/glob genérico |
grep |
❌ timeout/alucina com qwen3 mas funciona no repo procyon fonte (56 matches Ollama) |
— |
Taxa sucesso leitura/diagnóstico ~60%, build/test ~0% com qwen3:4b.
Evidências: ~/.local/share/procyon/sessions/home-dionebastos-Documentos-PROJETOS-my-app/*.jsonl (50+ sessões), procyon --knowledge, procyon --sessions.
3) Usabilidade
Fortes:
- Confinamento
src/tools/paths.rs:resolve_in_workspace bloqueia ../ e symlink escape — testado
- Gate
confirm/deny centralizado src/tools/mainnet.rs — --allow-changes só libera confirm, deny (mainnet/secret) permanece. Secret S... rejeitado sem eco
- Sessões JSONL persistentes
~/.local/share/procyon/sessions/ + procyon --sessions/--resume + compactação 80% budget.rs:26 (OLLAMA_CONTEXT_WINDOW=4096)
--exec fiel ao TUI, útil CI
procyon --knowledge com digest por skill versionado
Fricções: ver #4, #5, #6, #7, #8
Recomendação imediata ao usuário: npm install && npx ctg build counter && npx ctg generate counter --network testnet && npm run dev antes de testar invoke. Considerar trocar ~/.config/procyon/config.toml:4 para llama3.1:8b disponível em ollama list.
Checklist de correção está nas issues vinculadas.
Relatório E2E + Usabilidade Procyon 0.1.1 — template
my-app(counter + my_app_token)Data: 2026-08-23
Procyon:
0.1.1(/home/dionebastos/.cargo/bin/procyon) —procyon --knowledge50+ skills,provider=ollamaqwen3:4b-instruct-2507-q4_K_Mmax_tokens=4096allow_mainnet=falseWorkspace:
/home/dionebastos/Documentos/PROJETOS/my-app(Caatingacaatinga.config.ts:1) + nestedmy-app/.procyon/project.toml:1Método:
procyon --exec "prompt"(headless, mesmas tools do TUI) + verificação manualcargo test/ctg doctor/stellar keys ls1) Saúde E2E do projeto (ground-truth)
contracts/counter/src/lib.rs:1cargo test --manifest-path contracts/counter/Cargo.toml→ok. 4 passed(get_returns_zero_before_increment,increments_counter,repeated_increments_preserve_state,increment_returns_overflow_error)my-app/contracts/my_app_token/src/lib.rs:1cargo test→ok. 5 passedem 35s (mint/transfer/initialize)src/App.tsx:1,src/caatinga.ts:1src/contracts/generated/counter/src/index.ts:1placeholder__caatingaPlaceholder=true→PLACEHOLDER_BINDING.caatinga.artifacts.json:1=contracts:{}vazio.npm ls→UNMET DEPENDENCY,npx tsc/npm run build→tsc: not found.vite.config.ts:1aliaseswalletStubViteAliasesok mas semnode_modulesnpx ctg doctor→✓ Node 22.22.0, stellar 27.0.0, rustc 1.97.1, wasm32v1-nonemas✗ Project dependencies not installed→Status: blockedstellar keys ls→alice,deployer,e2e-testerexistem, mas semcontractIdem artifacts →caatinga_read/caatinga_invokerecusariamcaatinga.config.ts:8→wasm: ./contracts/counter/target/wasm32v1-none/release/counter.wasmmas innermy_app_tokennão declarado emcontractsConclusão: contratos Rust sadios, dApp quebrado em
npm install → ctg build → ctg generate. Procyon diagnosticou corretamente a causa raiz.2) Matriz Procyon
--exec(10 prompts)How many contracts...glob/list_dircountercaatinga doctorcaatinga_doctordependencies not installed+npm installrun_tests/Use the run_tests toolrun_testsI don't have run_tests(qwen3:4b) — tool existe emsrc/tools/test.rscaatinga_build countercaatinga_buildThis is not a Caatinga project: no caatinga.config.tsmesmo comcaatinga.config.ts:1presente (quando nested.procyon/existe)list_dir+read_file caatinga.config.tslist_dir+read_file--allow-changes)write_file procyon-e2e-write-test.txtsem--allow-changeswrite_filedeclined … Use --allow-changessem escreverwrite_file ...com--allow-changeswrite_fileteste123project_infono outerproject_infoNo .procyon/project.toml— outer usa Caatinga, não Procyoncaatinga_doctorno innermy-app/caatinga_doctorno caatinga.config.ts— inner é Procyon purogrep/globgenéricogrepqwen3mas funciona no repoprocyonfonte (56 matchesOllama)Taxa sucesso leitura/diagnóstico ~60%, build/test ~0% com
qwen3:4b.Evidências:
~/.local/share/procyon/sessions/home-dionebastos-Documentos-PROJETOS-my-app/*.jsonl(50+ sessões),procyon --knowledge,procyon --sessions.3) Usabilidade
Fortes:
src/tools/paths.rs:resolve_in_workspacebloqueia../e symlink escape — testadoconfirm/denycentralizadosrc/tools/mainnet.rs—--allow-changessó liberaconfirm,deny(mainnet/secret) permanece. SecretS...rejeitado sem eco~/.local/share/procyon/sessions/+procyon --sessions/--resume+ compactação 80%budget.rs:26(OLLAMA_CONTEXT_WINDOW=4096)--execfiel ao TUI, útil CIprocyon --knowledgecom digest por skill versionadoFricções: ver #4, #5, #6, #7, #8
Recomendação imediata ao usuário:
npm install && npx ctg build counter && npx ctg generate counter --network testnet && npm run devantes de testar invoke. Considerar trocar~/.config/procyon/config.toml:4parallama3.1:8bdisponível emollama list.Checklist de correção está nas issues vinculadas.