From d95b435797b7bb8f2bf409f3ba55d2248a4211ac Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 5 Jul 2026 20:39:01 +0000 Subject: [PATCH 1/2] Initial plan From 9297007829eae9c0525e347c55684d2b5008b441 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 5 Jul 2026 20:52:40 +0000 Subject: [PATCH 2/2] Optimize ambient context: trim copilot-agent-analysis and daily-code-metrics MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - copilot-agent-analysis.md: remove duplicate body-level jq examples (already covered by shared/copilot-pr-analysis-base.md) - copilot-agent-analysis.md: gate cold-start historical rebuild behind optional runtime-import (shared/copilot-agent-analysis-history.md) - copilot-agent-analysis.md: remove duplicated §4.2.1 rebuild section (now lives in the new shared file) - copilot-agent-analysis.md: trim verbose A/B structured-variant template (remove verbose Agent Task Texts instructions and brevity guidelines) - shared/copilot-pr-analysis-base.md: remove jqschema/SKILL.md import (~992 chars; data is at a known path with a schema file) - daily-code-metrics.md: remove redundant DPI/grid settings already covered by python-dataviz.md import - New: shared/copilot-agent-analysis-history.md for optional cold-start import Total character savings: ~4,670 chars in copilot-agent-analysis.md (28%) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .../workflows/copilot-agent-analysis.lock.yml | 20 ++- .github/workflows/copilot-agent-analysis.md | 117 +----------------- .../copilot-pr-merged-report.lock.yml | 16 ++- .../copilot-pr-nlp-analysis.lock.yml | 20 ++- .../copilot-pr-prompt-analysis.lock.yml | 20 ++- .github/workflows/daily-code-metrics.lock.yml | 2 +- .github/workflows/daily-code-metrics.md | 2 +- .../shared/copilot-agent-analysis-history.md | 35 ++++++ .../shared/copilot-pr-analysis-base.md | 1 - 9 files changed, 75 insertions(+), 158 deletions(-) create mode 100644 .github/workflows/shared/copilot-agent-analysis-history.md diff --git a/.github/workflows/copilot-agent-analysis.lock.yml b/.github/workflows/copilot-agent-analysis.lock.yml index c2ab198e59d..0f6d7e02482 100644 --- a/.github/workflows/copilot-agent-analysis.lock.yml +++ b/.github/workflows/copilot-agent-analysis.lock.yml @@ -1,4 +1,4 @@ -# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"68f6e9aeb26dfdb6adc17f56f7708542d7fcd7c82213403af48e51798ef60122","body_hash":"9033e03c37ae48fe2aedd54956cf55d9e6843e187519eb2695a999f2e7d3823c","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.201"}} +# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"a6f346986eb045cda1ba0a2ab4ea120a4eac5ca099f5f1e533df9a80e9c769ba","body_hash":"d7692575bdc52a1af37f1ec5ff615a1677044cc567d6ff55e6ecce431039a884","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.201"}} # gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22","digest":"sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"}]} # This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md # @@ -27,7 +27,6 @@ # # Resolved workflow manifest: # Imports: -# - ../skills/jqschema/SKILL.md # - shared/copilot-pr-data-fetch.md # - shared/daily-audit-discussion.md # - shared/otlp.md @@ -308,22 +307,22 @@ jobs: run: | bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh" { - cat << 'GH_AW_PROMPT_b6e769305882d969_EOF' + cat << 'GH_AW_PROMPT_0886d0284d62238a_EOF' - GH_AW_PROMPT_b6e769305882d969_EOF + GH_AW_PROMPT_0886d0284d62238a_EOF cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md" cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md" cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md" cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md" cat "${RUNNER_TEMP}/gh-aw/prompts/repo_memory_prompt.md" cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md" - cat << 'GH_AW_PROMPT_b6e769305882d969_EOF' + cat << 'GH_AW_PROMPT_0886d0284d62238a_EOF' Tools: create_discussion, missing_tool, missing_data, noop - GH_AW_PROMPT_b6e769305882d969_EOF + GH_AW_PROMPT_0886d0284d62238a_EOF cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md" - cat << 'GH_AW_PROMPT_b6e769305882d969_EOF' + cat << 'GH_AW_PROMPT_0886d0284d62238a_EOF' The following GitHub context information is available for this workflow: {{#if github.actor}} @@ -352,18 +351,17 @@ jobs: {{/if}} - GH_AW_PROMPT_b6e769305882d969_EOF + GH_AW_PROMPT_0886d0284d62238a_EOF cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md" - cat << 'GH_AW_PROMPT_b6e769305882d969_EOF' + cat << 'GH_AW_PROMPT_0886d0284d62238a_EOF' {{#runtime-import .github/workflows/shared/copilot-pr-analysis-base.md}} {{#runtime-import .github/workflows/shared/otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/skills/jqschema/SKILL.md}} {{#runtime-import .github/workflows/shared/copilot-pr-data-fetch.md}} {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/copilot-agent-analysis.md}} - GH_AW_PROMPT_b6e769305882d969_EOF + GH_AW_PROMPT_0886d0284d62238a_EOF } > "$GH_AW_PROMPT" - name: Interpolate variables and render templates uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 diff --git a/.github/workflows/copilot-agent-analysis.md b/.github/workflows/copilot-agent-analysis.md index 1794ae28a8d..255941d96b1 100644 --- a/.github/workflows/copilot-agent-analysis.md +++ b/.github/workflows/copilot-agent-analysis.md @@ -85,19 +85,6 @@ Daily analysis of pull requests created by copilot-swe-agent in the last 24 hour - `/tmp/gh-aw/agent/pr-data/copilot-prs.json` - Full PR data in JSON format - `/tmp/gh-aw/agent/pr-data/copilot-prs-schema.json` - Schema showing the structure -You can use `jq` to process this data directly. For example: -```bash -# Get PRs from the last 24 hours -TODAY="$(date -d '24 hours ago' '+%Y-%m-%dT%H:%M:%SZ' 2>/dev/null || date -v-24H '+%Y-%m-%dT%H:%M:%SZ')" -jq --arg today "$TODAY" '[.[] | select(.createdAt >= $today)]' /tmp/gh-aw/agent/pr-data/copilot-prs.json - -# Count total PRs -jq 'length' /tmp/gh-aw/agent/pr-data/copilot-prs.json - -# Get PR numbers for the last 24 hours -jq --arg today "$TODAY" '[.[] | select(.createdAt >= $today) | .number]' /tmp/gh-aw/agent/pr-data/copilot-prs.json -``` - **Alternative Approaches** (if you need additional data not in the pre-fetched file): Use `gh pr list --search "head:copilot/"` with `--state all` or `list_pull_requests` filtered by `user.login == "app/github-copilot"` or branch prefix `copilot/`. ### Phase 2: Analyze Each PR @@ -175,23 +162,7 @@ The history file should contain daily metrics in this format: **If Historical Data is Missing or Incomplete:** -If the history file doesn't exist or has gaps in the data, rebuild it by querying historical PRs: - -1. **Determine Missing Date Range**: Identify which dates need data (up to last 3 days maximum for concise trends) - -2. **Query PRs One Day at a Time**: To avoid context explosion, query PRs for each missing day separately - -3. **Process Each Day**: For each day with missing data: - - Query PRs created on that specific date - - Calculate the same metrics as for today (total PRs, merged, closed, success rate, etc.) - - Store in the history file - - Limit to 3 days total to keep reports concise - -4. **Simplified Approach**: - - Process one day at a time in chronological order (oldest to newest) - - Save after each day to preserve progress - - **Stop at 3 days** - this is sufficient for concise trend analysis - - Prioritize most recent days first +{{#runtime-import? shared/copilot-agent-analysis-history.md}} #### 4.2 Store Today's Metrics @@ -211,42 +182,6 @@ mkdir -p /tmp/gh-aw/repo-memory/default/copilot-agent-metrics/ Store the data in JSON format with proper structure. -#### 4.2.1 Rebuild Historical Data (if needed) - -**When to Rebuild:** -- History file doesn't exist -- History file has gaps (missing dates in the last 3 days) -- Insufficient data for trend analysis (< 3 days) - -**Rebuilding Strategy:** -1. **Assess Current State**: Check how many days of data you have -2. **Target Collection**: Aim for 3 days maximum (for concise trends) -3. **One Day at a Time**: Query PRs for each missing date separately to avoid context explosion - -**For Each Missing Day:** -``` -# Query PRs for specific date using keyword search -repo:${{ github.repository }} is:pr "START COPILOT CODING AGENT" created:YYYY-MM-DD..YYYY-MM-DD -``` - -Or use `list_pull_requests` with date filtering and filter results by agent criteria (see `agent_prs_total` in scratchpad/metrics-glossary.md for scope). - -**Process:** -- Start with the oldest missing date in your target range (maximum 3 days ago) -- For each date: - 1. Search for PRs created on that date - 2. Analyze each PR (same as Phase 2) - 3. Calculate daily metrics (same as Phase 4.2) - 4. Add to history.json - 5. Save immediately to preserve progress -- Stop at 3 days total - -**Important Constraints:** -- Process dates in chronological order (oldest first) -- Save after processing each day -- **Maximum 3 days** of historical data for concise reporting -- Prioritize data quality over quantity - #### 4.4 Analyze Trends **Concise Trend Analysis** - If historical data exists (at least 3 days), show: @@ -302,67 +237,23 @@ _Generated by Copilot Agent Analysis (Run: [run_id])_
Agent Task Texts -[Show this table for all PRs created in the last 24 hours - extract task text from PR body] - | PR # | Status | Task Text (first 100 chars) | |------|--------|----------------------------| -| [#number]([url]) | [status] | [First 100 characters of PR body/task description...] | +| [#number]([url]) | [Merged/Closed/Open] | [PR body truncated to 100 chars, or "No description provided"] |
Notable PRs -[Only list if there are failures, closures, or issues - otherwise omit this section] - -**Issues ⚠️** -- **PR #[number]**: [title] - [brief reason for failure/closure] - -**Open PRs ⏳** -[Only list if open for >24 hours] -- **PR #[number]**: [title] - [age] +[Only if failures, closures, or PRs open >24h — otherwise omit]
**Key Insights** -[1-2 bullet points only, focus on actionable items or notable observations] +[1-2 bullets max — omit if nothing notable] ``` - -**Agent Task Texts Table Instructions:** - -The "Agent Task Texts" section should include a table showing all PRs created in the last 24 hours with their task text: - -1. **For each PR created in the last 24 hours:** - - Extract the PR number and URL - - Determine the status (Merged, Closed, or Open) - - Extract the task text from the PR's `body` field (this is the original task description) - - Truncate the task text to the first 100 characters for display in the table - - If the body is empty or null, show "No description provided" - -2. **Table Format:** - ```markdown - | PR # | Status | Task Text (first 100 chars) | - |------|--------|----------------------------| - | [#123](https://github.com/owner/repo/pull/123) | Merged | Fix the login validation to handle edge cases where users enter special char... | - | [#124](https://github.com/owner/repo/pull/124) | Open | Implement new feature for exporting reports in CSV format with proper heade... | - ``` - -3. **Status Values:** - - "Merged" - PR was successfully merged - - "Closed" - PR was closed without merging - - "Open" - PR is still open - -4. **If no PRs in last 24 hours:** - - Omit the "Agent Task Texts" section entirely - -**Important Brevity Guidelines:** -- **Skip the "PR Summary Table"** - use simple 3-day metrics table instead -- **Omit "Detailed PR Analysis"** section - only show notable PRs with issues -- **Skip "Weekly Summary"** and **"Monthly Summary"** sections - use 3-day trend only -- **Remove "Instruction File Changes"** section entirely -- **Eliminate "Recommendations"** section - fold into "Key Insights" (1-2 bullets max) -- **Remove verbose methodology** and historical context sections {{/if}} {{#if experiments.output_format == 'prose' }} **Prose Variant Body Template**: diff --git a/.github/workflows/copilot-pr-merged-report.lock.yml b/.github/workflows/copilot-pr-merged-report.lock.yml index a0fa46bd343..0892a91df04 100644 --- a/.github/workflows/copilot-pr-merged-report.lock.yml +++ b/.github/workflows/copilot-pr-merged-report.lock.yml @@ -1,4 +1,4 @@ -# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"29b7910ac6a8feb3e0b7f0ef91120c66a99d433ba3e13ce658c3ecaeaa47ec90","body_hash":"a8dcde067c3d2afbf83bbc849b0da59f5377251a6304dc49c5ab24c3404e04ac","agent_id":"copilot","engine_versions":{"copilot":"1.0.68","copilot-sdk":"1.0.5"}} +# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"3012ac02be68153bec2e7e94ee5d75190f2689a75df5e23c8d019b6db2a17ed5","body_hash":"a8dcde067c3d2afbf83bbc849b0da59f5377251a6304dc49c5ab24c3404e04ac","agent_id":"copilot","engine_versions":{"copilot":"1.0.68","copilot-sdk":"1.0.5"}} # gh-aw-manifest: {"version":1,"secrets":["GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"}]} # This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md # @@ -27,7 +27,6 @@ # # Resolved workflow manifest: # Imports: -# - ../skills/jqschema/SKILL.md # - shared/copilot-pr-data-fetch.md # - shared/daily-audit-discussion.md # - shared/gh.md @@ -258,31 +257,30 @@ jobs: run: | bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh" { - cat << 'GH_AW_PROMPT_380a9420830ddf34_EOF' + cat << 'GH_AW_PROMPT_e1cc9d54a27d4f2b_EOF' - GH_AW_PROMPT_380a9420830ddf34_EOF + GH_AW_PROMPT_e1cc9d54a27d4f2b_EOF cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md" cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md" cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md" cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md" cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md" - cat << 'GH_AW_PROMPT_380a9420830ddf34_EOF' + cat << 'GH_AW_PROMPT_e1cc9d54a27d4f2b_EOF' Tools: create_discussion, missing_tool, missing_data, noop - GH_AW_PROMPT_380a9420830ddf34_EOF + GH_AW_PROMPT_e1cc9d54a27d4f2b_EOF cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md" - cat << 'GH_AW_PROMPT_380a9420830ddf34_EOF' + cat << 'GH_AW_PROMPT_e1cc9d54a27d4f2b_EOF' {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/gh.md}} {{#runtime-import .github/workflows/shared/copilot-pr-analysis-base.md}} {{#runtime-import .github/workflows/shared/otlp.md}} - {{#runtime-import .github/skills/jqschema/SKILL.md}} {{#runtime-import .github/workflows/shared/copilot-pr-data-fetch.md}} {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/copilot-pr-merged-report.md}} - GH_AW_PROMPT_380a9420830ddf34_EOF + GH_AW_PROMPT_e1cc9d54a27d4f2b_EOF } > "$GH_AW_PROMPT" - name: Interpolate variables and render templates uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 diff --git a/.github/workflows/copilot-pr-nlp-analysis.lock.yml b/.github/workflows/copilot-pr-nlp-analysis.lock.yml index f1e7956d938..fdd01a40e0a 100644 --- a/.github/workflows/copilot-pr-nlp-analysis.lock.yml +++ b/.github/workflows/copilot-pr-nlp-analysis.lock.yml @@ -1,4 +1,4 @@ -# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"defafff3b55866623c547f983d3af3c2332b3298077ea038be2d7c1cc8f7f8bf","body_hash":"3d02d2a2b593f1ef50b98d5f64a5f7f03e09fab3aac0a72bd2815dcb17e1e255","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68","copilot-sdk":"1.0.5"}} +# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"e361a54234f9e707dfc3b86e7ed8ce9087ba4eec4250c10bea32325c9b89ff97","body_hash":"3d02d2a2b593f1ef50b98d5f64a5f7f03e09fab3aac0a72bd2815dcb17e1e255","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68","copilot-sdk":"1.0.5"}} # gh-aw-manifest: {"version":1,"secrets":["GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-python","sha":"ece7cb06caefa5fff74198d8649806c4678c61a1","version":"v6.3.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"}]} # This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md # @@ -27,7 +27,6 @@ # # Resolved workflow manifest: # Imports: -# - ../skills/jqschema/SKILL.md # - shared/copilot-pr-data-fetch.md # - shared/daily-audit-discussion.md # - shared/otlp.md @@ -265,24 +264,24 @@ jobs: run: | bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh" { - cat << 'GH_AW_PROMPT_3eedca19303c1282_EOF' + cat << 'GH_AW_PROMPT_f419860becb44fcf_EOF' - GH_AW_PROMPT_3eedca19303c1282_EOF + GH_AW_PROMPT_f419860becb44fcf_EOF cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md" cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md" cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md" cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md" cat "${RUNNER_TEMP}/gh-aw/prompts/repo_memory_prompt.md" cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md" - cat << 'GH_AW_PROMPT_3eedca19303c1282_EOF' + cat << 'GH_AW_PROMPT_f419860becb44fcf_EOF' Tools: create_discussion, upload_asset(max:5), missing_tool, missing_data, noop upload_asset: provide a file path; returns a URL; assets are published after the workflow completes (safeoutputs). - GH_AW_PROMPT_3eedca19303c1282_EOF + GH_AW_PROMPT_f419860becb44fcf_EOF cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md" - cat << 'GH_AW_PROMPT_3eedca19303c1282_EOF' + cat << 'GH_AW_PROMPT_f419860becb44fcf_EOF' The following GitHub context information is available for this workflow: {{#if github.actor}} @@ -311,20 +310,19 @@ jobs: {{/if}} - GH_AW_PROMPT_3eedca19303c1282_EOF + GH_AW_PROMPT_f419860becb44fcf_EOF cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" - cat << 'GH_AW_PROMPT_3eedca19303c1282_EOF' + cat << 'GH_AW_PROMPT_f419860becb44fcf_EOF' {{#runtime-import .github/workflows/shared/copilot-pr-analysis-base.md}} {{#runtime-import .github/workflows/shared/python-dataviz.md}} {{#runtime-import .github/workflows/shared/python-nlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} {{#runtime-import .github/workflows/shared/otlp.md}} - {{#runtime-import .github/skills/jqschema/SKILL.md}} {{#runtime-import .github/workflows/shared/copilot-pr-data-fetch.md}} {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/copilot-pr-nlp-analysis.md}} - GH_AW_PROMPT_3eedca19303c1282_EOF + GH_AW_PROMPT_f419860becb44fcf_EOF } > "$GH_AW_PROMPT" - name: Interpolate variables and render templates uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 diff --git a/.github/workflows/copilot-pr-prompt-analysis.lock.yml b/.github/workflows/copilot-pr-prompt-analysis.lock.yml index d1002da9ba3..eba51d9d25d 100644 --- a/.github/workflows/copilot-pr-prompt-analysis.lock.yml +++ b/.github/workflows/copilot-pr-prompt-analysis.lock.yml @@ -1,4 +1,4 @@ -# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"d3287767296f0d6762f13eb67b8009893e9371333256cd50aedecdd991949b35","body_hash":"e43a000bb8db4472b5f201be8284d41bec1dbdc2ec9bea730256be0a81719517","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68","copilot-sdk":"1.0.5"}} +# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"f38188badcec08369877304ea30b7b384d9e7c2c5bd8cd4183900fb70349a349","body_hash":"e43a000bb8db4472b5f201be8284d41bec1dbdc2ec9bea730256be0a81719517","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68","copilot-sdk":"1.0.5"}} # gh-aw-manifest: {"version":1,"secrets":["GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"}]} # This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md # @@ -27,7 +27,6 @@ # # Resolved workflow manifest: # Imports: -# - ../skills/jqschema/SKILL.md # - shared/copilot-pr-data-fetch.md # - shared/daily-audit-discussion.md # - shared/otlp.md @@ -262,22 +261,22 @@ jobs: run: | bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh" { - cat << 'GH_AW_PROMPT_87405866dd40e3cc_EOF' + cat << 'GH_AW_PROMPT_51f425b38d4d9497_EOF' - GH_AW_PROMPT_87405866dd40e3cc_EOF + GH_AW_PROMPT_51f425b38d4d9497_EOF cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md" cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md" cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md" cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md" cat "${RUNNER_TEMP}/gh-aw/prompts/repo_memory_prompt.md" cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md" - cat << 'GH_AW_PROMPT_87405866dd40e3cc_EOF' + cat << 'GH_AW_PROMPT_51f425b38d4d9497_EOF' Tools: create_discussion, missing_tool, missing_data, noop - GH_AW_PROMPT_87405866dd40e3cc_EOF + GH_AW_PROMPT_51f425b38d4d9497_EOF cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md" - cat << 'GH_AW_PROMPT_87405866dd40e3cc_EOF' + cat << 'GH_AW_PROMPT_51f425b38d4d9497_EOF' The following GitHub context information is available for this workflow: {{#if github.actor}} @@ -306,18 +305,17 @@ jobs: {{/if}} - GH_AW_PROMPT_87405866dd40e3cc_EOF + GH_AW_PROMPT_51f425b38d4d9497_EOF cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md" - cat << 'GH_AW_PROMPT_87405866dd40e3cc_EOF' + cat << 'GH_AW_PROMPT_51f425b38d4d9497_EOF' {{#runtime-import .github/workflows/shared/copilot-pr-analysis-base.md}} {{#runtime-import .github/workflows/shared/otlp.md}} {{#runtime-import .github/workflows/shared/reporting.md}} - {{#runtime-import .github/skills/jqschema/SKILL.md}} {{#runtime-import .github/workflows/shared/copilot-pr-data-fetch.md}} {{#runtime-import .github/workflows/shared/noop-reminder.md}} {{#runtime-import .github/workflows/copilot-pr-prompt-analysis.md}} - GH_AW_PROMPT_87405866dd40e3cc_EOF + GH_AW_PROMPT_51f425b38d4d9497_EOF } > "$GH_AW_PROMPT" - name: Interpolate variables and render templates uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 diff --git a/.github/workflows/daily-code-metrics.lock.yml b/.github/workflows/daily-code-metrics.lock.yml index d7e79a176a7..9a7493ff4e6 100644 --- a/.github/workflows/daily-code-metrics.lock.yml +++ b/.github/workflows/daily-code-metrics.lock.yml @@ -1,4 +1,4 @@ -# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"d691a55ef0a9645228b9549173d31b3fce6c9402c402dbe1af861c62733536ab","body_hash":"cf950410e9c28d79dfc4a64e86ca155ad7ccb14377f196c335506cd50a95aff3","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.201"}} +# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"d691a55ef0a9645228b9549173d31b3fce6c9402c402dbe1af861c62733536ab","body_hash":"e3ca02025bcee33907a2a96a726ed922d8b6d44c05a22d216564acdf6f48e0a6","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.201"}} # gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/setup-python","sha":"ece7cb06caefa5fff74198d8649806c4678c61a1","version":"v6.3.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22","digest":"sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"}]} # This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md # diff --git a/.github/workflows/daily-code-metrics.md b/.github/workflows/daily-code-metrics.md index 0eab49a3f93..557522ccfc4 100644 --- a/.github/workflows/daily-code-metrics.md +++ b/.github/workflows/daily-code-metrics.md @@ -152,7 +152,7 @@ All charts save to `/tmp/gh-aw/python/charts/`. ### Python Script -Use `figsize=(12, 7)`, DPI 300, `ax.grid(True, alpha=0.3)` (see `python-dataviz.md` for full chart setup and upload pattern). Create a script that: +Use `figsize=(12, 7)` (see `python-dataviz.md` for full chart setup and upload pattern). Create a script that: 1. Reads variant from `GH_AW_EXPERIMENTS_OUTPUT_FORMAT` 2. Loads historical data from `/tmp/gh-aw/repo-memory/default/history.jsonl` and current metrics from `/tmp/gh-aw/python/data/current_metrics.json` diff --git a/.github/workflows/shared/copilot-agent-analysis-history.md b/.github/workflows/shared/copilot-agent-analysis-history.md new file mode 100644 index 00000000000..5687b870d6f --- /dev/null +++ b/.github/workflows/shared/copilot-agent-analysis-history.md @@ -0,0 +1,35 @@ +## Historical Data Cold-Start Rebuild + +**When to Rebuild:** +- History file doesn't exist +- History file has gaps (missing dates in the last 3 days) +- Insufficient data for trend analysis (< 3 days) + +**Rebuilding Strategy:** +1. **Assess Current State**: Check how many days of data you have +2. **Target Collection**: Aim for 3 days maximum (for concise trends) +3. **One Day at a Time**: Query PRs for each missing date separately to avoid context explosion + +**For Each Missing Day:** +``` +# Query PRs for specific date using keyword search +repo:${{ github.repository }} is:pr "START COPILOT CODING AGENT" created:YYYY-MM-DD..YYYY-MM-DD +``` + +Or use `list_pull_requests` with date filtering and filter results by agent criteria (see `agent_prs_total` in scratchpad/metrics-glossary.md for scope). + +**Process:** +- Start with the oldest missing date in your target range (maximum 3 days ago) +- For each date: + 1. Search for PRs created on that date + 2. Analyze each PR (same as Phase 2) + 3. Calculate daily metrics (same as Phase 4.2) + 4. Add to history.json + 5. Save immediately to preserve progress +- Stop at 3 days total + +**Important Constraints:** +- Process dates in chronological order (oldest first) +- Save after processing each day +- **Maximum 3 days** of historical data for concise reporting +- Prioritize data quality over quantity diff --git a/.github/workflows/shared/copilot-pr-analysis-base.md b/.github/workflows/shared/copilot-pr-analysis-base.md index b5030e961fb..42cdec6c103 100644 --- a/.github/workflows/shared/copilot-pr-analysis-base.md +++ b/.github/workflows/shared/copilot-pr-analysis-base.md @@ -6,7 +6,6 @@ tools: bash: ["*"] imports: - - ../skills/jqschema/SKILL.md - shared/reporting.md - shared/copilot-pr-data-fetch.md ---