Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/daily-doc-healer.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions .github/workflows/daily-doc-updater.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions .github/workflows/dev.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions .github/workflows/developer-docs-consolidator.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions .github/workflows/dictation-prompt.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions .github/workflows/glossary-maintainer.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions .github/workflows/smoke-codex.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions .github/workflows/technical-doc-writer.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions .github/workflows/unbloat-docs.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions .github/workflows/weekly-blog-post-writer.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pkg/workflow/mcp_environment.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
// - Safe Outputs: GH_AW_SAFE_OUTPUTS_*, GH_AW_ASSETS_*
// - MCP Scripts: GH_AW_MCP_SCRIPTS_PORT, GH_AW_MCP_SCRIPTS_API_KEY
// - Serena: removed (use shared/mcp/serena.md instead)
// - qmd: env vars are set directly in the "Start QMD MCP Server" Docker step (not via gateway)
// - qmd: env vars are set directly in the "Start qmd MCP Server" Docker step (not via gateway)
Copy link

Copilot AI Apr 1, 2026

Choose a reason for hiding this comment

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

The comment refers to a "Docker step" for starting qmd, but generateQmdStartStep starts qmd natively on the host VM (and explicitly notes it must not run in Docker). Update this wording to avoid misleading readers (e.g., refer to the workflow step / host process instead of Docker).

This issue also appears on line 128 of the same file.

Suggested change
// - qmd: env vars are set directly in the "Start qmd MCP Server" Docker step (not via gateway)
// - qmd: env vars are set directly in the "Start qmd MCP Server" workflow step on the host VM (not via gateway or Docker)

Copilot uses AI. Check for mistakes.
// - Playwright: Secrets from custom args expressions
// - HTTP MCP: Custom secrets from headers and env sections
//
Expand Down Expand Up @@ -127,7 +127,7 @@ func collectMCPEnvironmentVariables(tools map[string]any, mcpTools []string, wor

// qmd env vars (INDEX_PATH, NODE_LLAMA_CPP_GPU) are no longer added to the gateway
// environment. qmd now runs as a separate Docker container started by the
// "Start QMD MCP Server" step (see qmd.go:generateQmdStartStep), and the gateway
// "Start qmd MCP Server" step (see qmd.go:generateQmdStartStep), and the gateway
// connects to it via HTTP. The env vars are set directly in that Docker start step.

// Check for agentic-workflows GITHUB_TOKEN
Expand Down
2 changes: 1 addition & 1 deletion pkg/workflow/mcp_renderer_builtin.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ func (r *MCPConfigRendererUnified) renderPlaywrightTOML(yaml *strings.Builder, p

// RenderQmdMCP generates the qmd documentation search MCP server configuration.
// qmd runs natively on the host VM with HTTP transport, started by the
// "Start QMD MCP Server" step before the gateway, so the gateway connects via HTTP.
// "Start qmd MCP Server" step before the gateway, so the gateway connects via HTTP.
// Using HTTP transport avoids node-llama-cpp's direct process.stdout writes (dot-progress
// during model loading) from corrupting the stdio JSON-RPC stream.
func (r *MCPConfigRendererUnified) RenderQmdMCP(yaml *strings.Builder, qmdTool any, workflowData *WorkflowData) {
Expand Down
8 changes: 4 additions & 4 deletions pkg/workflow/qmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ func qmdHasSources(qmdConfig *QmdToolConfig) bool {
//
// The two steps are:
// 1. Setup Node.js – ensures node v24 is available before running npx.
// 2. Start QMD MCP Server – installs @tobilu/qmd via npx, starts the HTTP server as a
// 2. Start qmd MCP Server – installs @tobilu/qmd via npx, starts the HTTP server as a
// background process, and polls /health (up to 120 s) before continuing.
//
// The gateway then connects to http://localhost:{port}/mcp.
Expand All @@ -124,7 +124,7 @@ func generateQmdStartStep(qmdConfig *QmdToolConfig) string {
fmt.Fprintf(&sb, " node-version: \"%s\"\n", string(constants.DefaultNodeVersion))

// Step 2: Start qmd natively
sb.WriteString(" - name: Start QMD MCP Server\n")
sb.WriteString(" - name: Start qmd MCP Server\n")
sb.WriteString(" id: qmd-mcp-start\n")
sb.WriteString(" env:\n")
sb.WriteString(" INDEX_PATH: /tmp/gh-aw/qmd-index/index.sqlite\n")
Expand Down Expand Up @@ -167,7 +167,7 @@ func generateQmdStartStep(qmdConfig *QmdToolConfig) string {
func generateQmdModelsCacheStep() string {
version := string(constants.DefaultQmdVersion)
var sb strings.Builder
sb.WriteString(" - name: Cache qmd models\n")
sb.WriteString(" - name: Save qmd models to cache\n")
fmt.Fprintf(&sb, " uses: %s\n", GetActionPin("actions/cache"))
sb.WriteString(" with:\n")
sb.WriteString(" path: ~/.cache/qmd/models/\n")
Expand Down Expand Up @@ -199,7 +199,7 @@ func generateQmdNodeLlamaCppCacheStep() string {
func generateQmdModelsCacheRestoreStep() string {
version := string(constants.DefaultQmdVersion)
var sb strings.Builder
sb.WriteString(" - name: Restore qmd models cache\n")
sb.WriteString(" - name: Restore qmd models from cache\n")
fmt.Fprintf(&sb, " uses: %s\n", GetActionPin("actions/cache/restore"))
sb.WriteString(" with:\n")
sb.WriteString(" path: ~/.cache/qmd/models/\n")
Expand Down
Loading