[q] Fix arXiv link redaction and add quick-win agentic prompts

Q · issue · closed

Filter2mode:review mode:live
All recorded Export JSON
github-actions[bot]

published Aug 25, 2026, 5:37 AM · updated Aug 25, 2026, 1:11 PM

Q Workflow Optimization Report

Issue Found (from live discussion output)

daily-arxiv-researcher (.github/workflows/daily-arxiv-researcher.md)

  • Source: Discussion #55337, "[arXiv Research] Agentic Workflow Improvements — 2026-08-24"
  • Symptom: Every paper link in the generated discussion body rendered as a broken
    [Title]((arxiv.org/redacted) instead of a clickable `(arxiv.org/redacted) link.
  • Root cause: sanitize_content_core.cjs's sanitizeUrlProtocols() redacts any
    non-https:// URL regardless of the domain allowlist (GH_AW_ALLOWED_DOMAINS only
    protects https:// links, checked in sanitizeUrlDomains()). The opportunity-extractor
    sub-agent and/or the discussion-template skill were not instructed to always emit the
    full (arxiv.org/redacted) form, so a protocol-less or (redacted) link slipped
    through and got redacted during safe-output sanitization. This is a workflow-prompt issue,
    not a bug in the sanitizer (which is working as designed to strip non-https links).
Changes Made

daily-arxiv-researcher (.github/workflows/daily-arxiv-researcher.md)

  • opportunity-extractor sub-agent: now must copy the paper's url field verbatim into a
    new paper_url output field, with an explicit instruction never to emit a bare
    arxiv.org/... or `(redacted) link (both get redacted by output sanitization).
  • opportunity-extractor sub-agent: now also emits an agentic_prompt field — a short,
    ready-to-run prompt (2-4 sentences) describing what to investigate/change for that specific
    opportunity, which gh-aw component it touches, and what "done" looks like.
  • discussion-template skill: explicitly requires using each paper's paper_url verbatim
    for all **Paper** citation links (never a bare/http link), and restructures Next
    Steps
    to surface the top 3 lowest-effort opportunities as ready-to-run agentic prompts
    (quoting agentic_prompt verbatim) instead of a plain unordered checklist.

No .lock.yml files were modified — compilation will happen automatically after merge.

Expected Improvements

  • Discussion output will always show working (arxiv.org/redacted) links instead of (arxiv.org/redacted)`.
  • Maintainers get 3 copy-pasteable "quick win" agentic prompts directly in the discussion's
    Next Steps section, reducing the manual work needed to act on research findings.

Validation

Compiled successfully with the local gh-aw binary (./gh-aw compile daily-arxiv-researcher):

  • ✅ daily-arxiv-researcher — no new errors; pre-existing experimental-engine warnings only
    (unrelated to this change: crush engine ignores tools: allow-listing and
    gh-aw-detection is an experimental feature flag).

Note: .lock.yml will be regenerated automatically after merge.

References


Warning

Protected Files — Push Permission Denied

This was originally intended as a pull request, but the change modifies protected files. A human must create the pull request manually.

Protected files

The push was rejected because GitHub Actions does not have workflows permission to push these changes, and is never allowed to make such changes, or other authorization being used does not have this permission.

Create the pull request manually
# Download the artifact from the workflow run
gh run download '32812651430' -n agent -D '/tmp/agent-32812651430'

# Resolve the bundle source ref, fetch it into a temporary ref, then create the local branch
bundle_path='/tmp/agent-32812651430/aw-q-arxiv-fix-links-and-quickwin-prompts.bundle'
temp_ref='refs/bundles/create-pr-q-arxiv-fix-links-and-quickwin-prompts-a06e5606806e80ba-9b2e375d'
target_ref='refs/heads/q/arxiv-fix-links-and-quickwin-prompts-a06e5606806e80ba'
bundle_source_ref=$(git bundle list-heads "$bundle_path" | awk '$2 ~ /^refs\/heads\// { print $2 }')
if [ -z "$bundle_source_ref" ]; then
  bundle_source_ref=$(git bundle list-heads "$bundle_path" | awk '$2 == "HEAD" { print $2 }')
fi
if [ "$(printf '%s\n' "$bundle_source_ref" | sed '/^$/d' | wc -l | tr -d ' ')" != "1" ]; then
  echo "Expected exactly one bundle source ref, found: $bundle_source_ref" >&2
  exit 1
fi
git fetch "$bundle_path" "${bundle_source_ref}:${temp_ref}"
git update-ref "$target_ref" "$temp_ref"
git checkout 'q/arxiv-fix-links-and-quickwin-prompts-a06e5606806e80ba'
# Ensure the working tree matches the updated branch
git reset --hard
# Remove the temporary bundle ref
git update-ref -d "$temp_ref"

# Push the branch and create the pull request
git push origin q/arxiv-fix-links-and-quickwin-prompts-a06e5606806e80ba
gh pr create --title '[q] Fix arXiv link redaction and add quick-win agentic prompts' --base main --head q/arxiv-fix-links-and-quickwin-prompts-a06e5606806e80ba --repo github/gh-aw

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • proxy.golang.org

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "proxy.golang.org"

See Network Configuration for more information.

🎩 Equipped by Q · copilot · auto · 110.4 AIC · ⌖ 8.25 AIC · ⊞ 12.1K ·
Comment /q to run again

  • expires on Aug 26, 2026, 9:37 PM UTC-08:00