Skip to content

Release 1.27.0: tiered RUN search + skip reason + PG trace#81

Merged
hoangsnowy merged 2 commits into
mainfrom
release/1.27.0
May 24, 2026
Merged

Release 1.27.0: tiered RUN search + skip reason + PG trace#81
hoangsnowy merged 2 commits into
mainfrom
release/1.27.0

Conversation

@hoangsnowy
Copy link
Copy Markdown
Owner

Summary

RUN search performance

  • Drop the redundant FlowStepAttempts scan from search (output duplicates the current step row); search still covers run identity columns + current step rows incl. output JSON.
  • Single-pass pagination via COUNT(*) OVER() (no second COUNT query).
  • New non-breaking IFlowRunStore.GetRunsPageAsync(..., bool deepSearch, ...) default-interface overload — deepSearch:false matches only top-level run columns (quick typeahead), deepSearch:true keeps the per-step scan. /api/runs accepts deep=false; un-updated stores delegate to deep and stay correct.
  • Optional startedFrom/startedTo (from/to) start-time window to bound scans.
  • PostgreSQL: migrator best-effort creates pg_trgm + GIN trigram indexes so ILIKE substring search is index-accelerated (graceful degrade without the extension).
  • Command palette (Cmd/Ctrl+K) run lookup is server-backed via the quick path with request cancellation.

Fixes

  • Dashboard shows the Skip reason for Skipped steps (was only rendered for Failed).
  • PostgreSQL now persists the When-clause "Why skipped" trace (evaluation_trace_json), matching SQL Server (previously dropped on PG → empty trace panel).

Deps: consolidates dependabot PRs #73#80 (Dapper, Testcontainers family, Aspire, TestHost, coverlet, setup-node).

Test plan

  • dotnet build 0 warnings / 0 errors (net8/9/10)
  • Unit suite green
  • Integration suite green (SQL Server + PostgreSQL + Dashboard)
  • Regression suite green
  • e2e skill RESULT: 33/33 passed (all four sample instances incl. PG Why-skipped trace)

🤖 Generated with Claude Code

hoangsnowy and others added 2 commits May 24, 2026 08:40
Consolidates the eight open dependabot PRs into one commit, and aligns the
Testcontainers family (dependabot bumped only the meta-package, leaving the
two siblings behind).

- Dapper 2.1.72 -> 2.1.79
- Testcontainers, Testcontainers.MsSql, Testcontainers.PostgreSql 4.11.0 -> 4.12.0
- Aspire.Hosting.{PostgreSQL,SqlServer,Azure.ServiceBus} 13.3.2 -> 13.3.4
- Microsoft.AspNetCore.TestHost 8.0.26 -> 8.0.27
- coverlet.collector 10.0.0 -> 10.0.1
- actions/setup-node 5 -> 6 (codeql workflow)

Supersedes #73, #74, #75, #76, #77, #78, #79, #80.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
RUN search performance
- Drop the redundant FlowStepAttempts scan from search (its output duplicates
  the current step row); search still covers run identity columns + current
  step rows incl. output JSON.
- Single-pass pagination via COUNT(*) OVER() instead of a second COUNT query.
- New non-breaking IFlowRunStore.GetRunsPageAsync(..., bool deepSearch, ...)
  default-interface overload: deepSearch=false matches only top-level run
  columns (quick typeahead), deepSearch=true keeps the per-step scan. /api/runs
  accepts deep=false; un-updated stores delegate to deep and stay correct.
- Optional startedFrom/startedTo (from/to) start-time window to bound scans.
- PostgreSQL: migrator best-effort creates pg_trgm + GIN trigram indexes so
  ILIKE substring search is index-accelerated (graceful degrade without it).
- Command palette (Cmd/Ctrl+K) run lookup is server-backed via the quick path
  with request cancellation.

Fixes
- Dashboard shows the Skip reason for Skipped steps (was only rendered for
  Failed), in a skip-styled panel.
- PostgreSQL now persists the When-clause "Why skipped" evaluation trace
  (evaluation_trace_json column + read/write), matching SQL Server; previously
  dropped on PG so the dashboard trace panel was always empty.

Tests: tiered quick/deep parity + scope (InMemory), endpoint deep wiring,
SQL/PG search scope, PG trace round-trip, PG migrator idempotency.
Bumps VersionPrefix to 1.27.0; CHANGELOG + docs updated.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

1 participant