Full deployment history for this project.
chore: merge open PRs into main
chore: merge open PRs into main
Merge PR #233: 🎨 Palette: Add accessible role and label to network coverage status dot
chore: merge open PRs into main
chore: merge open PRs into main
Merge PR #220: ⚡ Bolt: parallelize independent database queries in compare route
⚡ Bolt: parallelize run validation and sub-resource queries in run API routes
🎨 Palette: improve EvaluationLauncher accessibility & tooltip feedback - Add explicit htmlFor/id bindings for form select controls in EvaluationLauncher. - Update launch button title tooltip dynamically to 'Evaluation in progress...' when running. - Add aria-live='polite' and aria-atomic='true' to alert container for error notifications.
perf(runs): unify baseline run and metrics query into single CTE Combine baseline run resolution and metrics retrieval in app/runs/[id]/compare/page.tsx into a single CTE database query. This eliminates sequential HTTP database roundtrips over serverless database connections when rendering run comparisons.
🎨 Palette: Add accessible role and label to network coverage status dot Update StatusDot in NetworkCoverageGraph to include role="img", aria-label, and title attributes so visual color-coded status indicators are fully accessible to screen readers and provide hover tooltips.
⚡ Bolt: Consolidate baseline run lookup and metrics query via CTE Consolidate baseline run resolution and scorecard metrics retrieval into a single SQL query using a Common Table Expression (CTE). This eliminates sequential HTTP database roundtrips over serverless database connections on run comparison routes and APIs.
a11y: add non-visual accessible attributes to status and severity dots Add role="img", aria-label, and title attributes to visual status and severity indicator dots across dashboard, network coverage graph, release gates, and registry pages.
⚡ Bolt: consolidate baseline lookup and metrics retrieval in compare view Consolidate sequential baseline run query and baseline scorecard metrics query into a single CTE query in app/runs/[id]/compare/page.tsx to eliminate serverless HTTP database roundtrips.
🎨 Palette: add aria-live region to registry sync error notice Ensure screen readers politely announce registry sync error updates by adding aria-live="polite" and aria-atomic="true" to the error container.
⚡ Bolt: optimize countCapabilities to single O(N) pass
🎨 Palette: Add visual required indicators to builder creation form labels
fix(evals): read migrated registry from cloudflare d1
fix: close development dependency advisories
fix: close development dependency advisories
fix: close development dependency advisories
fix: close development dependency advisories
fix: close development dependency advisories
chore: ignore local Vercel environment files
⚡ Bolt: parallelize run retrieval and sub-resource queries in getPublicRunBundle
chore: auto-close PR #194 via merge path
chore: stack PR #194
Merge pull request #193 from mbarbine/consolidate/platphorm-evals-20260811-cont3 consolidate 53 PRs into one commit
Merge pull request #144 from mbarbine/palette-sync-form-a11y-10560068128354207561 🎨 Palette: Wrap registry sync inside a semantic HTML form for keyboard accessibility
fix: export complete request journeys
release: separate Evals execution and evidence readiness v1.7.0
docs: record Evals production verification
feat: expand Evals sitemap network
release: simplify Evals UI and harden discovery v1.6.0
release: harden Evals platform contract v1.5.0
Consolidate 1 remaining open pull request Merged consolidation of remaining open PRs: #137
🎨 Palette: Add accessible API key visibility toggle (#136) * feat(ux): add accessible show/hide password toggle to API key inputs * feat(ux): add accessible show/hide password toggle to API key inputs and fix next config types
⚡ Bolt: Optimize provider report database persistence with bulk insertions (#132) * bolt: optimize provider report persistence with bulk inserts - Optimize `persistProviderReport` database insertions to use dynamic parameterized bulk inserts. - Generate `step_id` client-side using `crypto.randomUUID` to eliminate the RETURNING id requirement. - Map evidence IDs upfront to preserve 1-to-1 index matching and resolve potential index-shift bugs when skipping evidence. - Update `tests/provider-run-adapters.test.ts` sql mock to support string-based query signatures. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> * fix: resolve tsconfig baseUrl option removal error in newer tsc - Remove `baseUrl` configuration option from `tsconfig.json` since it is deprecated and causes typecheck failures in newer typescript. - Keep other optimizations for dynamic bulk insertions inside `persistProviderReport`. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-ju
🛡️ Sentinel: Fix SSRF bypasses via DNS wildcard resolutions (#124) - Implement async DNS resolution in `validateWebhookUrl` via `dns.promises.lookup` to validate the actual IP address hostname resolves to. - Block loopback, private, and reserved ranges for both IPv4 and IPv6 resolved addresses. - Update custom grader webhook validation call-site to await. - Rewrite `tests/security.test.ts` to be async and mock `dns.promises.lookup` to ensure fast and network-independent test runs. - Document in Sentinel journal (.jules/sentinel.md). Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
⚡ Bolt: Bulk upsert registry capabilities to optimize sync performance (#134) This commit refactors the bulkUpsertCapabilities function inside: - lib/registry/sync.ts - lib/registry/claws-sync.ts - lib/registry/mcp-sync.ts Instead of executing N+1 (or 2N/3N) sequential UPDATE, SELECT, and INSERT queries within a loop, we now bulk fetch all existing capabilities in a single query, build an in-memory map, diff the rows in-memory, and issue a single bulk INSERT for new records and Promise.all-parallelized UPDATEs for changed ones. This reduces typical database queries during sync by over 99%.
fix: declare compact OpenAPI evidence for evals
fix: expose compact evals docs and safe Vercel health metadata
chore: reconcile and restore pnpm build
🎨 Palette: add accessible animated loading spinners to key async buttons (#133) Integrate animated inline SVG loaders across key async trigger points in the PlatPhorm Evals UI to improve visual response and feedback. Specifically: - Add a spinning loader to the guided launcher Run button. - Add a spinning loader to the suite builder Create/Save button. - Add a spinning loader to the registry Sync button. All spinners use aria-hidden="true" to keep screen reader announcers clean while relying on semantic loading text labels. In addition, update devDependencies to pin TypeScript to a stable version (5.x) and ESLint to 9.x to resolve upstream incompatibilities and restore clean production builds and lint checks.
⚡ Bolt: cache high-frequency registry state outputs (#129) Wrap `getRegistryStatus` and `getIntegrationStatuses` in the short-lived registryStateCache to eliminate redundant database reads and calculations. Also invalidate the cache after manual sync completes.
a11y and UX copy enhancements for Evaluation Launcher and Breadcrumbs (#128)
⚡ Bolt: Implement request-level caching and query deduplication for fallback lists (#126) Introduced a lightweight, memory-efficient in-memory SimpleCache layer for high-frequency lists to deduplicate concurrent database queries within the same request tick. Updated mutating operations in RunOrchestrator and EvalSuiteService to automatically clear the cache, ensuring absolute consistency and instant freshness. This eliminates up to 66% of redundant list queries on complex pages like dashboards. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>