Skip to content

Fix external workflow sources for documentation jobs - #71677

Merged
pelikhan merged 3 commits into
mainfrom
pelikhan-cautious-waffle
Oct 24, 2026
Merged

pelikhan merged 3 commits into
mainfrom
pelikhan-cautious-waffle

Conversation

@pelikhan

@pelikhan pelikhan commented Oct 24, 2026 •

Copy link
Copy Markdown
Collaborator

Documentation Noob Tester and Documentation Unbloat fail before agent execution because Astro cannot find the gallery examples issue-triage.md and ci-doctor.md in its default sibling agentics checkout. The Noob Tester's server-readiness error is a consequence of the content-loading failure, not a timeout.

Changes

Mirror the existing documentation deployment setup in both workflows:

  • Check out githubnext/agentics into .agentics, using the SHA-pinned checkout action, explicit main ref, sparse workflow content, and no persisted credentials.
  • Set AGENTICS_WORKFLOWS_DIR on the documentation server-start and build steps.
  • Regenerate both workflow locks without changing prompts, schedules, permissions, engines, or sandbox controls.

Evidence

Validation

After merging origin/main through bb6a45b979, the two generated-lock conflicts were resolved by recompiling the merged sources rather than selecting either side.

  • Full make recompile succeeds for all 348 workflows.
  • make agent-report-progress passes, including the full workflow drift check; impacted Go test selection skips tests because the PR has no Go changes relative to the updated base.
  • Focused unit tests for the merged CLI/MCP version constants and scanner image pins pass.
  • Source/lock regression assertions confirm the setup fix remains intact and is the only semantic difference from the updated base.
  • Generated-workflow actionlint with shellcheck passes; formatting and lock freshness checks pass.
  • The prior bounded read-only security review of the setup fix found no confirmed vulnerabilities.

No workflow was dispatched, so hosted execution remains unverified. Dry-run compilation rejects the existing host steps and emits no diagnostic lock. Authored-source lint reports two pre-existing mutable action references in Unbloat, reproduced on the base revision.

Check out the agentics workflow examples before documentation startup and build, and point Astro to the checkout explicitly. Regenerate the two affected workflow locks.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI max review requested due to automatic review settings October 24, 2026 17:00
Comment thread .github/workflows/docs-noob-tester.md
Comment thread .github/workflows/unbloat-docs.md

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.

🟡 Changes recommended

The unignored nested checkout can be accidentally staged by the documentation agent and block PR creation.

1 open issue
What changed in this PR

This PR supplies external workflow examples to two gh-aw documentation jobs so Astro can resolve their source files during builds and preview startup.

Changes:

  • Check out githubnext/agentics workflows with credential persistence disabled.
  • Set AGENTICS_WORKFLOWS_DIR explicitly for the documentation build and server.
  • Regenerate both workflow locks to include the new setup.
File Description
.github/​workflows/​unbloat-docs.md Adds the external checkout and source path before building documentation.
.github/​workflows/​unbloat-docs.lock.yml Includes the compiled build setup and updated workflow hashes.
.github/​workflows/​docs-noob-tester.md Adds the external checkout and source path before starting Astro.
.github/​workflows/​docs-noob-tester.lock.yml Includes the compiled server setup and updated workflow hashes.

Review effort: Max

Comment thread .github/workflows/unbloat-docs.md
pelikhan and others added 2 commits October 24, 2026 10:18
Regenerate the documentation workflow locks from merged sources, preserving the agentics checkout fix and upstream CLI and scanner pins.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Include the base branch's license-policy update that landed during merge validation.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Comment thread .github/workflows/docs-noob-tester.md
env:
GH_AW_SKILL_DIR: ".github/skills"
run: bash "${RUNNER_TEMP}/gh-aw/actions/restore_inline_skills.sh"
- name: Checkout agentics workflows
@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot address the following outstanding work in one pass:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes.
  2. Review (.github/workflows/docs-noob-tester.md:51): Prompt injection risk: .github/workflows/docs-noob-tester.md checks out untrusted, mutable remote content (githubnext/agentics@main) into the workspace, and the workflow then starts the docs server which (via docs/astro.config.mjs + docs/src/lib/remark/agenticsWorkflow.js) reads those files and serves them in pages the Copilot agent can browse using the Playwright tool. Without pinning to an immutable ref and/or isolating the rendered workflow text from agent instructions, attacker-controlled content in githubnext/agentics could be returned in tool output and steer the agent's tool use. - Fix external workflow sources for documentation jobs #71677 (comment)
  3. Review (.github/workflows/unbloat-docs.md:179): Prompt injection risk: .github/workflows/unbloat-docs.md adds a checkout of githubnext/agentics at a mutable ref (main) into the same workspace the agent operates in (tools include bash/edit/github). If the agent inspects files broadly (e.g., repo-wide searches), untrusted markdown from .agentics/workflows can enter its context and act as instructions, steering subsequent tool calls. Pin the external source to an immutable commit/tag and/or place it outside the agent's readable context unless explicitly needed. - Fix external workflow sources for documentation jobs #71677 (comment)
  4. Review (.github/workflows/unbloat-docs.md:183): The new .agentics/ checkout remains unignored in the working tree where the agent commits its documentation edits. If the agent uses git add -A or git add ., Git stages it as a submodule entry, which the PR creation path rejects. Exclude /.agentics/ through the local Git exclude file before the agent runs, then regenerate the workflow lock. - Fix external workflow sources for documentation jobs #71677 (comment)
  5. Review (.github/workflows/docs-noob-tester.md:48): Prompt injection risk: docs-noob-tester checks out external, mutable content from githubnext/agentics@main (sparse workflows/) and then instructs the agent to browse the docs site via Playwright; the docs server is configured (via AGENTICS_WORKFLOWS_DIR) to load that external content into pages. There is no deterministic control shown here that tells the agent to treat page text as untrusted data (ignore any instructions on the site) or that pins the external content to a reviewed commit, so attacker-controlled page text could steer the agent's tool use (bash/playwright) away from the workflow's intended task. - Fix external workflow sources for documentation jobs #71677 (comment)
  6. Review (.github/workflows/docs-noob-tester.lock.yml:671): Prompt injection risk: the generated workflow also performs the external githubnext/agentics@main checkout and starts the docs server with AGENTICS_WORKFLOWS_DIR, making externally-controlled markdown reachable to the agent through Playwright navigation. Without an explicit 'treat site content as untrusted' policy or a pinned external revision, tool output (rendered page text) can carry attacker-controlled instructions into the agent context. - Fix external workflow sources for documentation jobs #71677 (comment)

Push the necessary fixes, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved. Use the pr-finisher skill and stop when only human review or CI remains; do not trigger CI.

Sous-chef head: 315504e
Sous-chef work: 2fb1fb37e9c6ea4370f093a050a8f7aae293a0966268738e3d965653c64210a8 340c063fb64be76e016ebefddb2dc4bba66c58530673bc27f465f8c3fa9e1c13 4f3ec279b1c87bdd326ea510d547fd5d42c9286a1c8e3b357c34484ce4967716 7eae78fa93a1b8064cb7ef39193a3537ece08644cd3b25609552830e3a54293c d455789be325492f9130ad4735deb455e2a25c6d562022b275adfad23fc4a2c6
Sous-chef state: a36d6bce639c29432aa5f8bdb5e9995c0a8a85a2c2657db72bb21135ab1e7794

Generated by 👨‍🍳 PR Sous Chef · pi · haiku45 · ~9 AIC · ⌖ ~8 AIC · ⊞ 1.1K · ◷
Comment /souschef to run again

@pelikhan
pelikhan merged commit 831b5b8 into main Oct 24, 2026
23 of 24 checks passed
@pelikhan
pelikhan deleted the pelikhan-cautious-waffle branch October 24, 2026 17:59
Copilot stopped work on behalf of gh-aw-bot due to an error October 24, 2026 18:00
Copilot AI requested a review from gh-aw-bot October 24, 2026 18:00
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v0.93.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.

4 participants