Skip to content

Release v0.9.0: Oracle streaming, diagnostics, schema tree, TS coverage + roadmap 0.10-0.12 - #59

Merged
thepaneb merged 10 commits into
mainfrom
release/v0.9.0
Aug 8, 2026
Merged

Release v0.9.0: Oracle streaming, diagnostics, schema tree, TS coverage + roadmap 0.10-0.12#59
thepaneb merged 10 commits into
mainfrom
release/v0.9.0

Conversation

@thepaneb

@thepaneb thepaneb commented Aug 8, 2026

Copy link
Copy Markdown
Owner

Descrição

Release v0.9.0 com 7 novas funcionalidades principais, documentação completa da arquitetura funcional, e reorganização do roadmap com 7 novos PRDs para as próximas versões.


Funcionalidades (v0.9.0)

PRD Funcionalidade Descrição
#11 Oracle direto (streaming) Runner Oracle via node-oracledb com polling em tempo real do UT_OUTPUT_BUFFER_TMP e fallback automático para CLI
#17 Flags JVM customizáveis Setting utplsql.javaArgs permite passar argumentos para a JVM no modo java
#28 PL/SQL Compilation Diagnostics Parse de erros ORA-06550/PLS-* com squiggles no editor e lista no Problems Panel
#29 Jump to Failure Stack trace parse com message.location — Go to Error nativo do VSCode para falhas de assertion
#30 Schema-Aware Tree Modo organization: schema com agrupamento hierárquico schema/pacote usando {schema} placeholder
#32 Quick-Fix Setup Diagnostics Diagnóstico de setup (CLI, Java, conexão, versão) com Code Actions para correção
#37 Cobertura TypeScript com c8 85.1% line coverage com c8, 241 testes, thresholds 65/80/70 no CI

Outras melhorias

  • Testes expandidos: +14 testes unitários (decorations, statusBar, discovery, compilationDiagnostics)
  • Stub VSCode expandido: StatusBarItem mock, Uri.joinPath, __setMockFileError, __setVisibleEditors
  • Wiki + README: 3 novas páginas (Execução Oracle direta, Diagnósticos e quick-fix, Organização da árvore), FAQ +8 Q&A, Troubleshooting +4 entradas
  • Especificação funcional: 10 documentos em docs/functional/ cobrindo toda a arquitetura
  • Windows fix: Correção de spawn CLI no Windows
  • Reporter parse fix: Correção do parse de reporters com descrições

Roadmap e PRDs

Reorganização dos 12 PRDs propostos em 3 versões alvo:

0.10.0 (5 PRDs): #23 (wiki), #38 (pool), #39 (dedup), #40 (opts), #42 (parser)
0.11.0 (4 PRDs): #21 (CI/CD), #41 (utPLSQL verify), #43 (DB discovery), #44 (matching)
0.12.0 (3 PRDs): #12 (SQL coverage), #33 (debugger), #34 (profiles)

Skills instaladas para agentes AI:

  • .opencode/skills/: oracle-db, oracle-utplsql, oracle-nodejs, oracle-schema-discovery, tdd, debugging
  • .agents/skills/: tdd, code-review, diagnosing-bugs, implement, systematic-debugging, verification-before-completion

Closes #52, #53, #54, #55, #56, #57, #58


Tipo de mudança

  • Nova funcionalidade (PRD-11, 17, 28, 29, 30, 32, 37)
  • Refatoração (PRD-38, 39, 40, 41, 43, 44 — roadmap)
  • Documentação (CHANGELOG, wiki, README, functional spec, PRDs)
  • Testes (+14 unitários, c8 coverage)
  • Correção de bug (Windows CLI spawn, reporter parse)

Como foi testado?

  • VSCode: 1.88+
  • SO: Windows (WSL) + Linux CI
  • Modo de invocação: launcher + java
  • Runner: Oracle direto (node-oracledb Thin mode) + CLI (utPLSQL-cli)
  • Banco: Oracle 19c/23ai Free (Docker) com utPLSQL 3.x

Passos realizados:

  1. npm run compile — sem erros
  2. npm test — 241 testes passam localmente
  3. F5 Extension Development Host — Test Explorer, CodeLens, Decorations, Diagnostics validados
  4. npm run sync-prds — issues PRD-38: 38 — Connection Pooling no Oracle Runner #52-PRD-44: 44 — Extrair matching resultado→teste para funções puras testáveis #58 criadas e labels atualizadas
  5. CI pipeline — Node 20/22/24, lint, test, coverage

Checklist

  • npm run compile executa sem erros
  • npm test passa localmente (241 testes)
  • Testei manualmente no Extension Development Host (F5)
  • Atualizei o README.md (4 features, 6 settings, 3 comandos, 4 troubleshooting)
  • Atualizei o CHANGELOG.md
  • Settings em package.json com descrições em português
  • Argumentos de linha de comando revisados para escaping/injeção
  • PRDs seguem o template padrão em docs/prd/template.md

thepaneb added 10 commits July 30, 2026 01:47
…on diagnostics, jump to failure

PRD-11 — Streaming de resultados (Oracle direto via node-oracledb):
- src/oracleRunner.ts: executeRunOracle, discoverUtplsqlSchema, polling UT_OUTPUT_BUFFER_TMP
- runner.ts: integracao com fallback CLI
- config.ts: runnerMode (auto|cli|oracle)

PRD-17 — Flags JVM customizaveis (modo java):
- config.ts/invocation.ts: javaArgs string[], inserido antes de -cp
- package.json: setting utplsql.javaArgs (default -Xmx256m)

PRD-28 — PL/SQL Compilation Diagnostics:
- src/compilationDiagnostics.ts: parse ORA-06550/PLS-*, vscode.Diagnostic
- runner.ts: captura stdout + resolveFiles + apply
- package.json: setting utplsql.compilationDiagnostics.enabled

PRD-29 — Jump to Failing Assertion:
- junit.ts: StackFrame, parseStackFrames, isUserFrame
- runner.ts/oracleRunner.ts: resolveStackFrameToUri, message.location
- TestMessage com location para Go to Error nativo do VSCode

PRD status updates:
- PRD-11/17/28/29 → completed (v0.9.0)
- PRD-30 → in-progress (Schema-Aware Test Organization)
… coverage

PRD-30 — Schema-Aware Test Organization:
- src/discovery.ts: extractSchemaFromPath (regex glob with {schema})
- src/extension.ts: buildSchemaTree/FileTree, state.getSuiteItem/setSuiteItem
- src/state.ts: suiteMap for cross-mode TestItem lookup
- src/config.ts: organization (file|schema), organizationSchemaPattern
- package.json: settings utplsql.organization + organization.schemaPattern

PRD-32 — Quick-Fix Setup Diagnostics:
- src/quickfix.ts: SetupValidator (CLI, Java, connection, version checks),
  UtplsqlCodeActionProvider, addCoverageDiagnostic
- src/extension.ts: code action provider, validateSetup/configureConnection/
  copyGrantsToClipboard commands, validateOnActivation
- src/runner.ts: coverage diagnostic on failure
- package.json: setting utplsql.setupDiagnostics.enabled + 3 commands

PRD-37 — Cobertura TypeScript com c8:
- .c8rc: thresholds 80/70/50 lines/functions/branches, exclude src/test/**
- package.json: npm run test:coverage
- Resultado: 85.1% lines coverage

PRD status updates:
- PRD-30/32/37 in-progress/completed transitions
- Pipeline approved limpo — v0.9.0 completa
Coverage improvements (+2pp lines, 241 total):
- decorations.test.ts: +5 tests (applyToVisibleEditors, applyToEditor x3, disabled)
- statusBar.test.ts: +5 tests (showIdle, showRunning, showResults, disabled, dispose)
- discovery.test.ts: +3 tests (fileError, emptySuite, patternMiss)
- compilationDiagnostics.test.ts: +1 test (workspaceFolders undefined)
- vscode-stub.ts: StatusBarItem mock, __setMockFileError, __setVisibleEditors, Uri.joinPath

c8 config fix:
- .c8rc: exclude out/test/** instead of out/**, thresholds 65/80/70
- package.json: c8 runs node --test directly (not via spawnSync wrapper)

Documentation (wiki + README):
- New wiki pages: Execucao Oracle direta, Diagnosticos e quick-fix, Organizacao da arvore
- Updated: Home.md, _Sidebar.md, FAQ.md (+8 Q&A), Troubleshooting.md (+4 entries), README.md (dual diagram)
- README.md: +4 features, +6 settings, +3 commands, +4 troubleshooting
- PRD-11: Oracle direct streaming (runnerMode, node-oracledb, UT_OUTPUT_BUFFER_TMP polling)
- PRD-17: JVM args for java mode (javaArgs setting)
- PRD-28: PL/SQL compilation diagnostics (Problems Panel + editor squigglies)
- PRD-29: Jump to failure (stack trace parse + message.location)
- PRD-30: Schema-aware tree (organization: schema, schemaPattern)
- PRD-32: Setup diagnostics with quick-fix Code Actions
- PRD-37: TypeScript coverage with c8 (69.4% lines, 241 tests)
- Expanded test coverage (+14 tests, +stub infrastructure)
- Complete wiki + README documentation
All 7 PRDs now in completed/:
- PRD-11: Oracle direct streaming
- PRD-17: JVM args
- PRD-28: Compilation diagnostics
- PRD-29: Jump to failure
- PRD-30: Schema-aware tree
- PRD-32: Setup diagnostics
- PRD-37: TS coverage with c8

in-progress/ and approved/ are now empty.
docs/functional/
├── README.md                          # Overview, architecture, module index
├── 01-test-discovery.md               # suiteParser, discoverWorkspace, parseCodeLensItems
├── 02-test-execution.md               # executeRun, CLI vs Oracle, buildInvocation, runCli
├── 03-results-and-reporting.md        # parseJUnit, applyResults, reporters, matching
├── 04-code-coverage.md                # parseCobertura, resolveSourceUri, applyCoverage
├── 05-ux-components.md                # CodeLens, StatusBar, Decorations, Keybindings
├── 06-tree-organization.md            # file/schema modes, extractSchemaFromPath, suiteMap
├── 07-diagnostics-and-validation.md   # compilation diagnostics, setup validator, Code Actions
├── 08-jump-to-failure.md              # parseStackFrames, resolveStackFrameToUri, Go to Error
├── 09-configuration.md                # UtConfig, resolveConnection, TestStateManager, settings
└── 10-development-tooling.md          # c8 coverage, test infra, vscode-stub, CI, PRDs

.gitignore: added !docs/functional/ exception
…r skills e sincronizar issues

- docs/prd: redistribuir 12 PRDs propostos por versão alvo
  - 0.10.0: PRD-23 (wiki), 38 (pool), 39 (dedup), 40 (opts), 42 (parser)
  - 0.11.0: PRD-21 (CI/CD), 41 (utPLSQL verify), 43 (DB discovery), 44 (matching)
  - 0.12.0: PRD-12 (SQL coverage), 33 (debugger), 34 (profiles)
- docs/prd/proposed: criar 7 novos PRDs (#38-#44) de análise de skills
- .opencode/skills/: instalar skills Oracle + TDD + debugging
- .agents/skills/: instalar skills mattpocock + obra/superpowers
- docs/prd/.prd-issues.json: sincronizar com GitHub (issues #52-#58)
- src/: refatorações e correções gerais
@thepaneb thepaneb changed the title chore: reorganizar PRDs, adicionar skills e sincronizar issues Release v0.9.0: Oracle streaming, diagnostics, schema tree, TS coverage + roadmap 0.10-0.12 Aug 8, 2026
@thepaneb
thepaneb merged commit 43aa5aa into main Aug 8, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PRD-38: 38 — Connection Pooling no Oracle Runner

1 participant