Skip to content

Replace missing evaluator tools in Daily GitHub Docs SEO Optimizer with a Copilot SDK driver - #47984

Merged
pelikhan merged 4 commits into
mainfrom
copilot/aw-fix-missing-tools-in-workflow
Jul 25, 2026
Merged

Replace missing evaluator tools in Daily GitHub Docs SEO Optimizer with a Copilot SDK driver#47984
pelikhan merged 4 commits into
mainfrom
copilot/aw-fix-missing-tools-in-workflow

Conversation

Copilot AI commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

The Daily GitHub Docs SEO Optimizer depended on two unavailable tools (automation-request-generator and baseline-copilot-evaluator), so the workflow could not perform its baseline collection phase in this environment. This change moves that orchestration into a dedicated Copilot SDK TypeScript driver and keeps the reporting phase inside the workflow.

  • Workflow execution model

    • switches the workflow to engine.driver: .github/drivers/daily_github_docs_seo_optimizer_driver.ts
    • removes the inline agent blocks for request generation and baseline evaluation
    • updates the prompt contract so the workflow consumes a driver-supplied structured dataset instead of invoking missing tools
  • Custom Copilot SDK driver

    • adds a driver that:
      1. generates exactly 10 baseline automation requests
      2. runs 10 isolated Copilot evaluation sessions, one per request
      3. injects the collected dataset into the final reporting prompt
    • preserves the original workflow intent: one reporting pass, one issue, same downstream analysis shape
  • Isolation and permission boundaries

    • baseline collection runs with an explicit deny-by-default permission config so those sessions cannot read the repo, use shell, MCP, web, or write tools
    • final reporting still uses the workflow’s normal permission model so safe-outputs issue creation continues to work
  • Driver-side validation

    • validates that request generation returns exactly 10 distinct requests
    • validates that each evaluator response is strict JSON with 3 ranked options and explicit documentation page metadata
engine:
  id: copilot
  copilot-sdk: true
  driver: .github/drivers/daily_github_docs_seo_optimizer_driver.ts
  bare: true
const dataset = await collectBaselineDataset(runSession);
const finalPrompt = buildFinalReportingPrompt(workflowPrompt, dataset);
return runSession(finalPrompt, permissionConfig);

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix missing tools in Daily GitHub Docs SEO Optimizer Replace missing evaluator tools in Daily GitHub Docs SEO Optimizer with a Copilot SDK driver Jul 25, 2026
Copilot AI requested a review from pelikhan July 25, 2026 11:44
@@ -0,0 +1,11 @@
const { runDailyGitHubDocsSEOOptimizerDriver } = require("../../actions/setup/js/daily_github_docs_seo_optimizer_driver_helpers.cjs");

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot keep all the code for this driver here in a single file

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in 58d28a1. The driver implementation now lives entirely in .github/drivers/daily_github_docs_seo_optimizer_driver.ts, and the separate helper module was removed.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI requested a review from pelikhan July 25, 2026 11:59
@@ -0,0 +1,100 @@
import { describe, expect, it, vi } from "vitest";

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot delete this file

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in d366a07.

@@ -0,0 +1,100 @@
import { describe, expect, it, vi } from "vitest";

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot delete this file and any changes in actions/setup/js

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in 2bdffa2.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI requested a review from pelikhan July 25, 2026 13:00
@pelikhan
pelikhan marked this pull request as ready for review July 25, 2026 13:24
Copilot AI review requested due to automatic review settings July 25, 2026 13:24
@pelikhan
pelikhan merged commit d8e3d68 into main Jul 25, 2026
@pelikhan
pelikhan deleted the copilot/aw-fix-missing-tools-in-workflow branch July 25, 2026 13:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Replaces unavailable SEO evaluation tools with a custom Copilot SDK driver while retaining safe-output reporting.

Changes:

  • Adds isolated request generation and baseline evaluation orchestration.
  • Updates the workflow to consume the driver-supplied dataset.
  • Regenerates the compiled workflow.
Show a summary per file
File Description
.github/workflows/daily-github-docs-seo-optimizer.md Configures the driver and updates reporting instructions.
.github/workflows/daily-github-docs-seo-optimizer.lock.yml Reflects the recompiled TypeScript-driver execution.
.github/drivers/daily_github_docs_seo_optimizer_driver.ts Implements collection, validation, isolation, and reporting orchestration.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 3/3 changed files
  • Comments generated: 3
  • Review effort level: Medium

Comment on lines +5 to +9
import { applyModelFallback } from "../../actions/setup/js/model_fallback.cjs";
import { getErrorMessage } from "../../actions/setup/js/error_helpers.cjs";
import { parseMultiProviderJson } from "../../actions/setup/js/copilot_sdk_multi_provider.cjs";
import { parsePermissionConfigFromServerArgs } from "../../actions/setup/js/copilot_sdk_permissions.cjs";
import { runWithCopilotSDK } from "../../actions/setup/js/copilot_sdk_session.cjs";
return runSession(finalPrompt, permissionConfig);
}

const currentFile = fileURLToPath(import.meta.url);
Comment on lines +183 to +185
if (typeof page.title !== "string" || typeof page.url !== "string" || typeof page.used_for !== "string") {
throw new Error(`documentation_pages entries for request ${JSON.stringify(expectedRequest)} must include title, url, and used_for strings`);
}
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v0.83.4

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.

[aw] Daily GitHub Docs SEO Optimizer is missing required tool

3 participants