test: add release-validation coverage for post-`v0.8.7` merged PRs

Merged
AN
5mo ago
+4238-0

PINEAPPLE

What does this PR do?

Adds regression test coverage for the 8 PRs merged since v0.8.7, authored during pre-release validation. No source files are modified — tests only.

Two independent authoring passes intentionally overlap to maximize edge-case coverage:

  • *-codex.test.ts — codex CLI track
  • the matching release-validation/*.test.ts — Claude multi-agent track

opencode (packages/opencode/test/release-validation/):

  • question-937* (#937) — non-interactive question tool: ALTIMATE_NON_INTERACTIVE / ALTIMATE_FORCE_INTERACTIVE / ALTIMATE_AUTO_ANSWER matrix, output-text contract, run.ts / bash.ts env guards
  • mcp-datamate-893* (#893) — MCP config normalize/merge, enabled-state persistence, recursive **/mcp.json discovery, datamate transport selection
  • session-transcript-941* (#941) — transcript REST endpoint: query coercion, content negotiation, tool/thinking detail gating, error schema
  • serve-upgrade-940* (#940) — headless serve startup upgrade check: scheduling, failure isolation, version-compare boundaries
  • serve-trace-log-929* (#929) — trace-directory startup logging
  • chunk-timeout-844* (#844) — DEFAULT_CHUNK_TIMEOUT SSE watchdog behavior
  • windows-installer-930* (#930) — install.ps1 static analysis (HTTPS URLs, error handling, PATH safety, idempotency, no secret leakage) + win32 dispatch

dbt-tools (packages/dbt-tools/test/):

  • dbt-cli-release-validation.test.ts (#933) — error-bubbling: malformed JSON, exit-code redaction, ANSI stripping, no-signal fallback
  • dbt-cli-extra-codex.test.ts (#933) — result shape, --limit boundaries, last-error selection, inline-compile error paths

4 test.todo markers document real, pre-existing edge cases surfaced during review (do not block release): transcript path-traversal → 500, normalizeMcpConfig dropping updatedAt, install.ps1 missing archive checksum, execDbtCompile stale-manifest fallback.

Type of change

  • Tests

Issue for this PR

Closes #951

How did you verify your code works?

  • bun turbo typecheck — green (all 7 packages, forced/no-cache)
  • cd packages/opencode && bun test test/release-validation/ — 172 pass / 3 todo / 0 fail (12 files)
  • cd packages/dbt-tools && bun test test/dbt-cli-extra-codex.test.ts test/dbt-cli-release-validation.test.ts — 18 pass / 1 todo / 0 fail
  • cd packages/dbt-tools && bun run test (full suite, regression check) — 82 pass / 0 fail
  • Branding leak audit — 0 leaks; marker guard — clean (no upstream-shared source files touched)

Checklist

  • Tests added/updated
  • Typecheck passes locally
  • No source files modified (tests only)
  • Documentation updated (n/a — tests only)
  • CHANGELOG updated (n/a — not user-facing)

Summary by cubic

Adds regression tests for the 8 PRs merged since v0.8.7 to strengthen release validation; no source files are changed. Addresses #951. Two overlapping tracks (*-codex.test.ts and release-validation/*.test.ts) maximize edge-case coverage.

  • Coverage
    • packages/opencode: non-interactive question tool env matrix and output contract; MCP/datamate config normalize/merge, discovery, and transport selection; session transcript API (query coercion, content negotiation, detail gating, error schema); serve startup upgrade check (scheduling, failure isolation, version compare) and trace-dir logging; provider SSE chunk-timeout default; Windows install.ps1 safety and native win32 upgrade dispatch.
    • packages/dbt-tools: dbt-cli error bubbling (malformed JSON, exit-code redaction, ANSI stripping, no-signal fallback) and result shape/--limit/inline-compile paths.

4 test.todo markers document known, pre-existing gaps and do not block the release.

Summary by CodeRabbit

  • Tests
    • Added comprehensive regression test suites covering dbt-cli error handling, SSE chunk timeout behavior, MCP discovery and transport selection, question tool auto-answer functionality, session transcript endpoint generation, Windows installer validation, serve startup upgrade checks, and trace logging initialization.