Skip to content

Show models powering auto in attribution footers - #74985

Merged
pelikhan merged 11 commits into
mainfrom
attribution-auto-powered-by
Nov 6, 2026
Merged

pelikhan merged 11 commits into
mainfrom
attribution-auto-powered-by

Conversation

@davidslater

@davidslater davidslater commented Nov 4, 2026 •

Copy link
Copy Markdown
Collaborator

When a workflow requests auto, attribution footers now include the observed model names, for example copilot · auto (powered by Gemini 3.8 Flash). Multiple observed agent models are deduplicated; classifier and detection models are excluded. Without concrete evidence, the label remains auto. Existing routing and fallback labels retain their behavior.

Validation: make agent-report-progress and make lint-cjs passed, including 157 impacted tests. Regression coverage includes default and custom footer templates, multiple models, and missing or invalid model evidence.



✨ PR Review Safe Output Test - Run 41939432471

Warning

Firewall blocked 1 domain

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

  • update.googleapis.com

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

network:
  allowed:
    - defaults
    - "update.googleapis.com"

See Network Configuration for more information.

💥 [THE END] — Illustrated by Smoke Claude · claude · sonnet46 · ~89 AIC · ⌖ ~5 AIC · ⊞ 980 · ◷
Comment /smoke-claude to run again

@davidslater
davidslater marked this pull request as ready for review November 4, 2026 23:08
Copilot AI auto review requested due to automatic review settings November 4, 2026 23:08
@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer

@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

✅ Test Quality Sentinel completed test quality analysis.

Test Quality Sentinel

Outcome: reported_no_action

The agent completed and reported no action. A no-op output alone does not verify that all required work was completed or that publication was possible.

Agent messages are omitted from this comment. The category uses structured run status, not interpretation of agent prose.

Generated from Test Quality Sentinel · routed: gpt56 max · ~1 AIC · ⌖ ~1 AIC · ⊞ 6.3K · ◷

🧪 Test quality analysis by Test Quality Sentinel

@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

✅ Ponytail Reviewer completed successfully!

Ponytail Reviewer

Outcome: reported_no_action

The agent completed and reported no action. A no-op output alone does not verify that all required work was completed or that publication was possible.

Agent messages are omitted from this comment. The category uses structured run status, not interpretation of agent prose.

Generated from Ponytail Reviewer · routed: gpt56 max · ~5 AIC · ⌖ ~1 AIC · ⊞ 118 · ◷

Generated by Ponytail Reviewer for #74985

@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

✅ Design Decision Gate 🏗️ completed the design decision gate check. See the comment below for the result and any generated ADR draft.

Design Decision Gate 🏗️

Outcome: reported_no_action

The agent completed and reported no action. A no-op output alone does not verify that all required work was completed or that publication was possible.

Agent messages are omitted from this comment. The category uses structured run status, not interpretation of agent prose.

Generated from Design Decision Gate 🏗️ · routed: opus55 medium · ~12 AIC · ⌖ ~2 AIC · ⊞ 7.7K · ◷

🏗️ ADR gate enforced by Design Decision Gate 🏗️

@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

✅ PR Code Quality Reviewer completed the code quality review.

🔎 Code quality review by PR Code Quality Reviewer

@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

Comment Memory

Peek at saved memory (pr-code-quality-reviewer)
reviewed_at: 2026-11-04T23:12:20Z
review_event: COMMENT
top_themes: [test isolation, process.env cleanup]
files_reviewed: [actions/setup/js/messages.test.cjs, actions/setup/js/model_attribution.cjs, actions/setup/js/model_attribution.test.cjs]
comment_count: 1

Note

This comment is managed by comment memory.

Expand the saved memory block to view or edit the persistent context for this thread.
Edit only the text inside the backtick fences; workflow metadata and the footer are regenerated automatically.

Learn more about comment memory

🔎 Code quality review by PR Code Quality Reviewer · copilot · gpt50 · ~3 AIC · ⌖ ~1 AIC · ⊞ 1.6K · ◷
Comment /review to run again

@github-actions github-actions Bot 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.

Found one test-isolation issue; production attribution logic otherwise looks consistent with the added coverage.

Highlights
  • The parameterized footer test mutates process-wide environment variables and does not restore them, creating order-dependent tests.
  • The specialist pass completed; its other candidates were discarded as unsupported by the surrounding validated data flow or non-actionable.

🔎 Code quality review by PR Code Quality Reviewer · copilot · gpt50 · ~3 AIC · ⌖ ~1 AIC · ⊞ 1.6K
Comment /review to run again

process.env.GH_AW_AGENT_AIC = "14";
process.env.GH_AW_THREAT_DETECTION_AIC = "1";
process.env.GH_AW_AMBIENT_CONTEXT = "9200";
if (custom) process.env.GH_AW_SAFE_OUTPUT_MESSAGES = JSON.stringify({ footer: "> Generated by [{workflow_name}]({run_url}){ai_credits_suffix}{history_link}" });

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.

This test leaks process-wide environment variables into subsequent tests, making footer assertions order-dependent and potentially causing unrelated tests to use the custom template and deleted temp directory.

💡 Restore the environment after each parameterized case

Snapshot the relevant process.env keys before mutation and restore or delete them in finally (including GH_AW_SAFE_OUTPUT_MESSAGES, GH_AW_TMP_DIR, GH_AW_ENGINE_ID, GH_AW_ENGINE_MODEL, and the AIC/context keys). The current cleanup only removes the temporary directory, so the custom=true iteration leaves the custom footer configuration active for the rest of the file.

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.

Fixed in e7842a3: the footer test now snapshots and restores every environment variable it mutates, including the template, temp directory, engine, and AIC/context values.

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

Model attribution still includes failed-request models and loses earlier native model observations in Copilot auto runs without firewall usage, producing inaccurate model lists.

2 open issues
What changed in this PR

This PR updates gh-aw attribution footers to show the observed models powering auto selections.

Changes:

  • Adds readable, deduplicated model names to auto labels while preserving routing labels.
  • Filters classifier, detection, and untrusted events from model evidence.
  • Adds regression coverage for model evidence and default/custom footer templates.
File Description
actions/​setup/​js/​model_attribution.test.cjs Tests model labels, deduplication, and evidence filtering.
actions/​setup/​js/​model_attribution.cjs Builds auto (powered by …) labels from observed models.
actions/​setup/​js/​messages.test.cjs Tests attribution in default and custom footers.

Review effort: Balanced (auto)

Comment thread actions/setup/js/model_attribution.cjs Resolved
Comment thread actions/setup/js/model_attribution.cjs Resolved

@github-actions github-actions Bot 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.

Skills-Based Review 🧠

Applied /diagnosing-bugs, /tdd, and /codebase-design. Requesting changes: the dedupe is ineffective for name variants, and a fallback-only label changed without being documented or tested.

📋 Key Themes & Highlights

Key Themes

  • Dedupe runs before formatting: variant IDs that format to the same name still repeat in the footer.
  • Empty name passes validation: provider/ yields auto (powered by ).
  • Unasserted behavior change: fallback-only auto now labels as auto (powered by GPT 5.4) instead of the old alias. The PR body says fallback labels are unchanged.
  • Render timing unverified: the new branch depends on aw_session.jsonl, which the code comments say may not exist yet when the agent post-step runs.

Positive Highlights

  • ✅ Session records are filtered by provenance and purpose, so classifier, detection, and forged events are excluded.
  • ✅ Models are validated before reaching the footer, and the test table covers invalid input.
  • ✅ The footer-level test exercises both the default and custom templates.

Verification gap

Vitest could not be installed in this runner (npm rejected the registry certificate), so I did not run the test suite. The findings come from direct Node probes of getEffectiveModelLabel and from reading the code.

@copilot please address the review comments above.

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · copilot · routed: haiku55 xhigh · ~5 AIC · ⌖ ~1 AIC · ⊞ 5.4K
Comment /matt to run again

Comment thread actions/setup/js/model_attribution.cjs Outdated
}
}
if (!models.size && attribution.model && attribution.model.toLowerCase() !== "auto") models.add(attribution.model);
return models.size ? `auto (powered by ${[...models].map(formatAttributionModelName).join(", ")})` : "auto";

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.

[/diagnosing-bugs] Duplicate names slip past the dedupe. models is keyed on the raw identifier, but formatting runs afterwards. Probing google/gemini-3.8-flash, gemini-3.8-flash, and Gemini-3.8-Flash yields auto (powered by Gemini 3.8 Flash, Gemini 3.8 Flash, Gemini 3.8 Flash).

💡 Suggested fix

Format first, then dedupe the display names and drop empty ones:

const names = [...new Set([...models].map(formatAttributionModelName).filter(Boolean))];
return names.length ? `auto (powered by ${names.join(", ")})` : "auto";

Add a regression case for these variants in model_attribution.test.cjs.

@copilot please address this.

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.

Fixed in e7842a3: model names are now formatted before deduplication, collapsing provider and case variants. Regression coverage is included.

// Keep the full model version and tier readable rather than compressing them into an alias.
function formatAttributionModelName(model) {
return model
.replace(/^.*\//, "")

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.

[/tdd] Empty model names reach the footer. provider/ passes validateModelIdentifier (it allows /), and formatAttributionModelName reduces it to an empty string, so the output is auto (powered by ).

💡 Suggested test

Use effective_model: "provider/" and expect "auto". The filter in the suggested fix above also covers this case.

@copilot please address this.

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.

Fixed in e7842a3: empty formatted names are discarded, so an identifier such as provider/ leaves the label as auto.

const { reduceModelNameToIdentifier } = require("./model_aliases.cjs");
const shortModel = reduceModelNameToIdentifier(attribution.model);
if (!attribution.routing) return shortModel;
if (!attribution.routing) {

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.

[/codebase-design] Undocumented behavior change. Fallback-only runs (requested_model: auto, fallback_model: gpt-5.4, no routing) previously returned the short alias gpt54 through the removed line if (!attribution.routing) return shortModel;. They now return auto (powered by GPT 5.4). The PR body says fallback labels keep their behavior, and no test covers this path. If the new label is intended, state it in the PR body and add a test. If not, limit the new branch to observed evidence.

@copilot please address this.

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.

Fixed in e7842a3: fallback-only auto runs retain the prior model alias when there is no observed evidence; a regression test covers this behavior.

Comment thread actions/setup/js/model_attribution.cjs Outdated
if (requested.toLowerCase() !== "auto") return shortModel;
const models = new Set();
if (phase === "agent") {
const sessionPath = require("path").join(require("path").dirname(infoPath), "usage/aw_session.jsonl");

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.

[/diagnosing-bugs] Possible silent miss. The comment at lines 243-244 says the agent post-step runs before usage/aw_session.jsonl is written. If the footer renders in that window, this lookup finds no events, and the label falls back to the single attribution.model, so multi-model output never appears. Confirm which step renders the footer. Then add a test with the session file absent, and one with agent records present through the footer path.

@copilot please address this.

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.

The footer is rendered through the safe-output message helpers. e7842a3 covers both absent session usage via persisted native-selection metadata and agent token-usage records through a rendered footer; the native model list is preserved when the session artifact is unavailable.


describe("observed model attribution", () => {
it.each([
["gemini-3.8-flash", "auto (powered by Gemini 3.8 Flash)"],

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.

[/tdd] Missing edge cases in this table: (1) variant spellings that collapse after formatting, such as google/gemini-3.8-flash with Gemini-3.8-Flash; (2) a trailing-slash identifier such as provider/; (3) fallback-only auto with no session file, which currently yields auto (powered by GPT 5.4) and is unasserted. Write these as failing tests before the fixes.

@copilot please address this.

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.

Fixed in e7842a3: added regression cases for formatted-name variants, empty provider-prefixed identifiers, and fallback-only auto labels.

@pelikhan

pelikhan commented Nov 4, 2026

Copy link
Copy Markdown
Collaborator

@copilot run pr-finisher skill

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI requested a review from pelikhan November 5, 2026 00:19
@github-actions
github-actions Bot requested an auto review from Copilot November 5, 2026 00:25

@github-actions github-actions Bot 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.

Warning

Firewall blocked 1 domain

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

  • update.googleapis.com

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

network:
  allowed:
    - defaults
    - "update.googleapis.com"

See Network Configuration for more information.

💥 [THE END] — Illustrated by Smoke Claude · claude · sonnet46 · ~89 AIC · ⌖ ~5 AIC · ⊞ 980
Comment /smoke-claude to run again

}
const observedModels = attribution.selection?.status === "observed" ? attribution.selection.observed_models : null;
if (!models.size && Array.isArray(observedModels)) {
for (const value of observedModels) {

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.

The fallback to observedModels from selection.observed_models when session usage is absent is a nice resilience improvement. Well handled!

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.

No change needed. I'm keeping this fallback. It now applies only when no fallback model is recorded (80fd66f).

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

Model attribution can publish incomplete or incorrect footers because proxy and runtime metadata are collected too late, native observations override fallback precedence, and retries discard earlier model history.

4 open issues
2 resolved since last review

Review effort: Balanced (auto)

const offsets = new Map();
/** @type {Map<string, string>} */
const partial = new Map();
const observedModels = new Set();
if (!attribution.routing) return shortModel;
if (!attribution.routing) {
const requested = attribution.requestedModel || requestedModelIdentifier(env.GH_AW_INFO_MODEL || env.GH_AW_ENGINE_MODEL);
if (requested.toLowerCase() !== "auto") return shortModel;
Comment thread actions/setup/js/model_attribution.cjs Outdated
Comment on lines +327 to +328
const sessionPath = require("path").join(require("path").dirname(infoPath), "usage/aw_session.jsonl");
for (const event of readModelRoutingSession(sessionPath)) {
Comment thread actions/setup/js/model_attribution.cjs Outdated
Comment on lines +333 to +334
const observedModels = attribution.selection?.status === "observed" ? attribution.selection.observed_models : null;
if (!models.size && Array.isArray(observedModels)) {
@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot

Copilot assignment requested for the following outstanding work:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes.
  2. Review (actions/setup/js/copilot_model_selection.cjs:70): Looks good! Using Set deduplication with a 32-element cap is a clean approach. Consider adding a comment explaining the magic number 32 for future maintainers. - Show models powering auto in attribution footers #74985 (comment)
  3. Review (actions/setup/js/model_attribution.cjs:335): The fallback to observedModels from selection.observed_models when session usage is absent is a nice resilience improvement. Well handled! - Show models powering auto in attribution footers #74985 (comment)
  4. Review (actions/setup/js/copilot_model_selection.cjs:102): copilot_harness.cjs:2099 creates a fresh observer on every retry, including when resuming the same session, and initialization skips existing records. The next observation overwrites the selection log with only the retry's models, so an auto run using Gemini before a transient failure and Claude after resuming reports only Claude without firewall usage. Carry validated model history across attempts and add a resumed-session regression test. - Show models powering auto in attribution footers #74985 (comment)
  5. Review (actions/setup/js/model_attribution.cjs:324): When fallback_model is gpt-5.4 but native observed_models contains the qualified/bare pair for gpt-5.6-luna, this branch replaces the existing gpt54 label with auto (powered by GPT 5.6 Luna). Without firewall session evidence, those native observations identify Copilot's requested model rather than the replacement served by the proxy. Preserve fallback precedence before collecting the powered-by list. - Show models powering auto in attribution footers #74985 (comment)
  6. Review (actions/setup/js/model_attribution.cjs:328): usage/aw_session.jsonl is generated only after safe-output publication and the conclusion job's footer-producing steps (pkg/workflow/notify_comment.go:78–145). This loop therefore misses firewall observations during normal publication, leaving proxy-only auto runs unlabeled and omitting models absent from native metadata. Collect trusted proxy observations before publishing footers, and add coverage for that execution order. - Show models powering auto in attribution footers #74985 (comment)
  7. Review (actions/setup/js/model_attribution.cjs:334): Copilot's updated selection metadata is transported as runtime/aw_info.json, but this lookup reads only the root aw_info.json; the restore currently runs only in the later conclusion job. Native-only auto runs therefore publish safe-output footers without the newly recorded model names. Restore or read the runtime metadata before safe-output rendering, and cover the downloaded artifact layout in a regression test. - Show models powering auto in attribution footers #74985 (comment)
  8. Fix failing check JS Tests (shard 1/8) (FAILURE): https://github.com/github/gh-aw/actions/runs/41939998246/job/126958306137.

Once you start work, post this work summary as a PR comment without the leading Copilot mention, including the Sous-chef head, work, and state lines below, to record that the assignment is running. Apply the necessary fixes on this PR's existing branch, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved; stop when only human review or CI remains. Do not merge or trigger CI.

Sous-chef requested-head: e7842a3
Sous-chef requested-work: 071b79eb2e1aca8a6260522874ae9c10dabbd76704802f850ddc4238738c8544 2043f06d7a0592a29de8ba6911876e33a23cb97026fed1da448b4db8671de4c9 415e2b02d67f066b7c2ddf5f9eda57c896a1ea7b186bb34ba2ab0993ae905b31 531e0f3e7442d5de298cd79b697c843590b59c7ce5285d2a1d798926aa4f5b8f 7c1af5f34053cbac7694082df663b736382c3e14c75e9238e9b86e1b1d431054 ad1af1add0dece2ca4fc947831d0776fad9b46ff8133432715d8be9222ccd676 be8977fed8539981a9de7f424c3c95730603faded3a88272a303c0b1b996a2af
Sous-chef requested-state: 212bd90bb89be7db2860312000149c67518e4659187f69726d785a685acf4fe2

Generated by 👨🍳 PR Sous Chef · pi · haiku45 · ~10 AIC · ⌖ ~23 AIC · ⊞ 1.2K · ◷
Comment /souschef to run again

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot

Copilot assignment requested for the following outstanding work:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes.
  2. Review (actions/setup/js/copilot_model_selection.cjs:70): Looks good! Using Set deduplication with a 32-element cap is a clean approach. Consider adding a comment explaining the magic number 32 for future maintainers. - Show models powering auto in attribution footers #74985 (comment)
  3. Review (actions/setup/js/model_attribution.cjs:335): The fallback to observedModels from selection.observed_models when session usage is absent is a nice resilience improvement. Well handled! - Show models powering auto in attribution footers #74985 (comment)
  4. Review (actions/setup/js/copilot_model_selection.cjs:102): copilot_harness.cjs:2099 creates a fresh observer on every retry, including when resuming the same session, and initialization skips existing records. The next observation overwrites the selection log with only the retry's models, so an auto run using Gemini before a transient failure and Claude after resuming reports only Claude without firewall usage. Carry validated model history across attempts and add a resumed-session regression test. - Show models powering auto in attribution footers #74985 (comment)
  5. Review (actions/setup/js/model_attribution.cjs:324): When fallback_model is gpt-5.4 but native observed_models contains the qualified/bare pair for gpt-5.6-luna, this branch replaces the existing gpt54 label with auto (powered by GPT 5.6 Luna). Without firewall session evidence, those native observations identify Copilot's requested model rather than the replacement served by the proxy. Preserve fallback precedence before collecting the powered-by list. - Show models powering auto in attribution footers #74985 (comment)
  6. Review (actions/setup/js/model_attribution.cjs:328): usage/aw_session.jsonl is generated only after safe-output publication and the conclusion job's footer-producing steps (pkg/workflow/notify_comment.go:78–145). This loop therefore misses firewall observations during normal publication, leaving proxy-only auto runs unlabeled and omitting models absent from native metadata. Collect trusted proxy observations before publishing footers, and add coverage for that execution order. - Show models powering auto in attribution footers #74985 (comment)
  7. Review (actions/setup/js/model_attribution.cjs:334): Copilot's updated selection metadata is transported as runtime/aw_info.json, but this lookup reads only the root aw_info.json; the restore currently runs only in the later conclusion job. Native-only auto runs therefore publish safe-output footers without the newly recorded model names. Restore or read the runtime metadata before safe-output rendering, and cover the downloaded artifact layout in a regression test. - Show models powering auto in attribution footers #74985 (comment)
  8. Fix failing check JS Tests (shard 1/8) (FAILURE): https://github.com/github/gh-aw/actions/runs/41939998246/job/126958306137.

Once you start work, post this work summary as a PR comment without the leading Copilot mention, including the Sous-chef head, work, and state lines below, to record that the assignment is running. Apply the necessary fixes on this PR's existing branch, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved; stop when only human review or CI remains. Do not merge or trigger CI.

Sous-chef requested-head: e7842a3
Sous-chef requested-work: 071b79eb2e1aca8a6260522874ae9c10dabbd76704802f850ddc4238738c8544 2043f06d7a0592a29de8ba6911876e33a23cb97026fed1da448b4db8671de4c9 415e2b02d67f066b7c2ddf5f9eda57c896a1ea7b186bb34ba2ab0993ae905b31 531e0f3e7442d5de298cd79b697c843590b59c7ce5285d2a1d798926aa4f5b8f 7c1af5f34053cbac7694082df663b736382c3e14c75e9238e9b86e1b1d431054 ad1af1add0dece2ca4fc947831d0776fad9b46ff8133432715d8be9222ccd676 be8977fed8539981a9de7f424c3c95730603faded3a88272a303c0b1b996a2af
Sous-chef requested-state: 212bd90bb89be7db2860312000149c67518e4659187f69726d785a685acf4fe2

Generated by 👨🍳 PR Sous Chef · pi · haiku45 · ~16 AIC · ⌖ ~12 AIC · ⊞ 1.2K · ◷
Comment /souschef to run again

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

Copilot assignment requested for the following outstanding work:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes.
  2. Review (actions/setup/js/copilot_model_selection.cjs:70): Looks good! Using Set deduplication with a 32-element cap is a clean approach. Consider adding a comment explaining the magic number 32 for future maintainers. - Show models powering auto in attribution footers #74985 (comment)
  3. Review (actions/setup/js/model_attribution.cjs:335): The fallback to observedModels from selection.observed_models when session usage is absent is a nice resilience improvement. Well handled! - Show models powering auto in attribution footers #74985 (comment)
  4. Review (actions/setup/js/copilot_model_selection.cjs:102): copilot_harness.cjs:2099 creates a fresh observer on every retry, including when resuming the same session, and initialization skips existing records. The next observation overwrites the selection log with only the retry's models, so an auto run using Gemini before a transient failure and Claude after resuming reports only Claude without firewall usage. Carry validated model history across attempts and add a resumed-session regression test. - Show models powering auto in attribution footers #74985 (comment)
  5. Review (actions/setup/js/model_attribution.cjs:324): When fallback_model is gpt-5.4 but native observed_models contains the qualified/bare pair for gpt-5.6-luna, this branch replaces the existing gpt54 label with auto (powered by GPT 5.6 Luna). Without firewall session evidence, those native observations identify Copilot's requested model rather than the replacement served by the proxy. Preserve fallback precedence before collecting the powered-by list. - Show models powering auto in attribution footers #74985 (comment)
  6. Review (actions/setup/js/model_attribution.cjs:328): usage/aw_session.jsonl is generated only after safe-output publication and the conclusion job's footer-producing steps (pkg/workflow/notify_comment.go:78–145). This loop therefore misses firewall observations during normal publication, leaving proxy-only auto runs unlabeled and omitting models absent from native metadata. Collect trusted proxy observations before publishing footers, and add coverage for that execution order. - Show models powering auto in attribution footers #74985 (comment)
  7. Review (actions/setup/js/model_attribution.cjs:334): Copilot's updated selection metadata is transported as runtime/aw_info.json, but this lookup reads only the root aw_info.json; the restore currently runs only in the later conclusion job. Native-only auto runs therefore publish safe-output footers without the newly recorded model names. Restore or read the runtime metadata before safe-output rendering, and cover the downloaded artifact layout in a regression test. - Show models powering auto in attribution footers #74985 (comment)
  8. Fix failing check JS Tests (shard 1/8) (FAILURE): https://github.com/github/gh-aw/actions/runs/41939998246/job/126958306137.

Once you start work, post this work summary as a PR comment without the leading Copilot mention, including the Sous-chef head, work, and state lines below, to record that the assignment is running. Apply the necessary fixes on this PR's existing branch, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved; stop when only human review or CI remains. Do not merge or trigger CI.

Sous-chef requested-head: e7842a3
Sous-chef requested-work: 071b79eb2e1aca8a6260522874ae9c10dabbd76704802f850ddc4238738c8544 2043f06d7a0592a29de8ba6911876e33a23cb97026fed1da448b4db8671de4c9 415e2b02d67f066b7c2ddf5f9eda57c896a1ea7b186bb34ba2ab0993ae905b31 531e0f3e7442d5de298cd79b697c843590b59c7ce5285d2a1d798926aa4f5b8f 7c1af5f34053cbac7694082df663b736382c3e14c75e9238e9b86e1b1d431054 ad1af1add0dece2ca4fc947831d0776fad9b46ff8133432715d8be9222ccd676 be8977fed8539981a9de7f424c3c95730603faded3a88272a303c0b1b996a2af
Sous-chef requested-state: 212bd90bb89be7db2860312000149c67518e4659187f69726d785a685acf4fe2

Generated by 👨🍳 PR Sous Chef · pi · haiku45 · ~13 AIC · ⌖ ~14 AIC · ⊞ 1.2K · ◷
Comment /souschef to run again

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot

Copilot assignment requested for the following outstanding work:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes.
  2. Review (actions/setup/js/copilot_model_selection.cjs:70): Looks good! Using Set deduplication with a 32-element cap is a clean approach. Consider adding a comment explaining the magic number 32 for future maintainers. - Show models powering auto in attribution footers #74985 (comment)
  3. Review (actions/setup/js/model_attribution.cjs:335): The fallback to observedModels from selection.observed_models when session usage is absent is a nice resilience improvement. Well handled! - Show models powering auto in attribution footers #74985 (comment)
  4. Review (actions/setup/js/copilot_model_selection.cjs:102): copilot_harness.cjs:2099 creates a fresh observer on every retry, including when resuming the same session, and initialization skips existing records. The next observation overwrites the selection log with only the retry's models, so an auto run using Gemini before a transient failure and Claude after resuming reports only Claude without firewall usage. Carry validated model history across attempts and add a resumed-session regression test. - Show models powering auto in attribution footers #74985 (comment)
  5. Review (actions/setup/js/model_attribution.cjs:324): When fallback_model is gpt-5.4 but native observed_models contains the qualified/bare pair for gpt-5.6-luna, this branch replaces the existing gpt54 label with auto (powered by GPT 5.6 Luna). Without firewall session evidence, those native observations identify Copilot's requested model rather than the replacement served by the proxy. Preserve fallback precedence before collecting the powered-by list. - Show models powering auto in attribution footers #74985 (comment)
  6. Review (actions/setup/js/model_attribution.cjs:328): usage/aw_session.jsonl is generated only after safe-output publication and the conclusion job's footer-producing steps (pkg/workflow/notify_comment.go:78–145). This loop therefore misses firewall observations during normal publication, leaving proxy-only auto runs unlabeled and omitting models absent from native metadata. Collect trusted proxy observations before publishing footers, and add coverage for that execution order. - Show models powering auto in attribution footers #74985 (comment)
  7. Review (actions/setup/js/model_attribution.cjs:334): Copilot's updated selection metadata is transported as runtime/aw_info.json, but this lookup reads only the root aw_info.json; the restore currently runs only in the later conclusion job. Native-only auto runs therefore publish safe-output footers without the newly recorded model names. Restore or read the runtime metadata before safe-output rendering, and cover the downloaded artifact layout in a regression test. - Show models powering auto in attribution footers #74985 (comment)
  8. Fix failing check JS Tests (shard 1/8) (FAILURE): https://github.com/github/gh-aw/actions/runs/41939998246/job/126958306137.

Once you start work, post this work summary as a PR comment without the leading Copilot mention, including the Sous-chef head, work, and state lines below, to record that the assignment is running. Apply the necessary fixes on this PR's existing branch, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved; stop when only human review or CI remains. Do not merge or trigger CI.

Sous-chef requested-head: e7842a3
Sous-chef requested-work: 071b79eb2e1aca8a6260522874ae9c10dabbd76704802f850ddc4238738c8544 2043f06d7a0592a29de8ba6911876e33a23cb97026fed1da448b4db8671de4c9 415e2b02d67f066b7c2ddf5f9eda57c896a1ea7b186bb34ba2ab0993ae905b31 531e0f3e7442d5de298cd79b697c843590b59c7ce5285d2a1d798926aa4f5b8f 7c1af5f34053cbac7694082df663b736382c3e14c75e9238e9b86e1b1d431054 ad1af1add0dece2ca4fc947831d0776fad9b46ff8133432715d8be9222ccd676 be8977fed8539981a9de7f424c3c95730603faded3a88272a303c0b1b996a2af
Sous-chef requested-state: 212bd90bb89be7db2860312000149c67518e4659187f69726d785a685acf4fe2

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

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot

Copilot assignment requested for the following outstanding work:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes.
  2. Review (actions/setup/js/copilot_model_selection.cjs:70): Looks good! Using Set deduplication with a 32-element cap is a clean approach. Consider adding a comment explaining the magic number 32 for future maintainers. - Show models powering auto in attribution footers #74985 (comment)
  3. Review (actions/setup/js/model_attribution.cjs:335): The fallback to observedModels from selection.observed_models when session usage is absent is a nice resilience improvement. Well handled! - Show models powering auto in attribution footers #74985 (comment)
  4. Review (actions/setup/js/copilot_model_selection.cjs:102): copilot_harness.cjs:2099 creates a fresh observer on every retry, including when resuming the same session, and initialization skips existing records. The next observation overwrites the selection log with only the retry's models, so an auto run using Gemini before a transient failure and Claude after resuming reports only Claude without firewall usage. Carry validated model history across attempts and add a resumed-session regression test. - Show models powering auto in attribution footers #74985 (comment)
  5. Review (actions/setup/js/model_attribution.cjs:324): When fallback_model is gpt-5.4 but native observed_models contains the qualified/bare pair for gpt-5.6-luna, this branch replaces the existing gpt54 label with auto (powered by GPT 5.6 Luna). Without firewall session evidence, those native observations identify Copilot's requested model rather than the replacement served by the proxy. Preserve fallback precedence before collecting the powered-by list. - Show models powering auto in attribution footers #74985 (comment)
  6. Review (actions/setup/js/model_attribution.cjs:328): usage/aw_session.jsonl is generated only after safe-output publication and the conclusion job's footer-producing steps (pkg/workflow/notify_comment.go:78–145). This loop therefore misses firewall observations during normal publication, leaving proxy-only auto runs unlabeled and omitting models absent from native metadata. Collect trusted proxy observations before publishing footers, and add coverage for that execution order. - Show models powering auto in attribution footers #74985 (comment)
  7. Review (actions/setup/js/model_attribution.cjs:334): Copilot's updated selection metadata is transported as runtime/aw_info.json, but this lookup reads only the root aw_info.json; the restore currently runs only in the later conclusion job. Native-only auto runs therefore publish safe-output footers without the newly recorded model names. Restore or read the runtime metadata before safe-output rendering, and cover the downloaded artifact layout in a regression test. - Show models powering auto in attribution footers #74985 (comment)
  8. Fix failing check JS Tests (shard 1/8) (FAILURE): https://github.com/github/gh-aw/actions/runs/41939998246/job/126958306137.

Once you start work, post this work summary as a PR comment without the leading Copilot mention, including the Sous-chef head, work, and state lines below, to record that the assignment is running. Apply the necessary fixes on this PR's existing branch, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved; stop when only human review or CI remains. Do not merge or trigger CI.

Sous-chef requested-head: e7842a3
Sous-chef requested-work: 071b79eb2e1aca8a6260522874ae9c10dabbd76704802f850ddc4238738c8544 2043f06d7a0592a29de8ba6911876e33a23cb97026fed1da448b4db8671de4c9 415e2b02d67f066b7c2ddf5f9eda57c896a1ea7b186bb34ba2ab0993ae905b31 531e0f3e7442d5de298cd79b697c843590b59c7ce5285d2a1d798926aa4f5b8f 7c1af5f34053cbac7694082df663b736382c3e14c75e9238e9b86e1b1d431054 ad1af1add0dece2ca4fc947831d0776fad9b46ff8133432715d8be9222ccd676 be8977fed8539981a9de7f424c3c95730603faded3a88272a303c0b1b996a2af
Sous-chef requested-state: 212bd90bb89be7db2860312000149c67518e4659187f69726d785a685acf4fe2

Generated by 👨🍳 PR Sous Chef · pi · haiku45 · ~16 AIC · ⌖ ~13 AIC · ⊞ 1.2K · ◷
Comment /souschef to run again

@pelikhan

pelikhan commented Nov 5, 2026

Copy link
Copy Markdown
Collaborator

@copilot remove "Powered by" to save space, just a list of model names

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>

Copilot AI commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

@copilot remove "Powered by" to save space, just a list of model names

Done in d6f34ac. The label now reads auto (Gemini 3.8 Flash, Claude Sonnet 5). I kept the auto prefix so the footer still shows that routing picked the models. If you'd rather drop it and show only the names, let me know.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot

Copilot assignment requested for the following outstanding work:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes.
  2. Review (actions/setup/js/copilot_model_selection.cjs:99): Looks good! Using Set deduplication with a 32-element cap is a clean approach. Consider adding a comment explaining the magic number 32 for future maintainers. - Show models powering auto in attribution footers #74985 (comment)
  3. Review (actions/setup/js/model_attribution.cjs:373): The fallback to observedModels from selection.observed_models when session usage is absent is a nice resilience improvement. Well handled! - Show models powering auto in attribution footers #74985 (comment)
  4. Review (actions/setup/js/copilot_model_selection.cjs:102): copilot_harness.cjs:2099 creates a fresh observer on every retry, including when resuming the same session, and initialization skips existing records. The next observation overwrites the selection log with only the retry's models, so an auto run using Gemini before a transient failure and Claude after resuming reports only Claude without firewall usage. Carry validated model history across attempts and add a resumed-session regression test. - Show models powering auto in attribution footers #74985 (comment)
  5. Review (actions/setup/js/model_attribution.cjs:352): When fallback_model is gpt-5.4 but native observed_models contains the qualified/bare pair for gpt-5.6-luna, this branch replaces the existing gpt54 label with auto (powered by GPT 5.6 Luna). Without firewall session evidence, those native observations identify Copilot's requested model rather than the replacement served by the proxy. Preserve fallback precedence before collecting the powered-by list. - Show models powering auto in attribution footers #74985 (comment)
  6. Review (actions/setup/js/model_attribution.cjs:328): usage/aw_session.jsonl is generated only after safe-output publication and the conclusion job's footer-producing steps (pkg/workflow/notify_comment.go:78–145). This loop therefore misses firewall observations during normal publication, leaving proxy-only auto runs unlabeled and omitting models absent from native metadata. Collect trusted proxy observations before publishing footers, and add coverage for that execution order. - Show models powering auto in attribution footers #74985 (comment)
  7. Review (actions/setup/js/model_attribution.cjs:334): Copilot's updated selection metadata is transported as runtime/aw_info.json, but this lookup reads only the root aw_info.json; the restore currently runs only in the later conclusion job. Native-only auto runs therefore publish safe-output footers without the newly recorded model names. Restore or read the runtime metadata before safe-output rendering, and cover the downloaded artifact layout in a regression test. - Show models powering auto in attribution footers #74985 (comment)

Once you start work, post this work summary as a PR comment without the leading Copilot mention, including the Sous-chef head, work, and state lines below, to record that the assignment is running. Apply the necessary fixes on this PR's existing branch, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved; stop when only human review or CI remains. Do not merge or trigger CI.

Sous-chef requested-head: d6f34ac
Sous-chef requested-work: 071b79eb2e1aca8a6260522874ae9c10dabbd76704802f850ddc4238738c8544 2043f06d7a0592a29de8ba6911876e33a23cb97026fed1da448b4db8671de4c9 415e2b02d67f066b7c2ddf5f9eda57c896a1ea7b186bb34ba2ab0993ae905b31 531e0f3e7442d5de298cd79b697c843590b59c7ce5285d2a1d798926aa4f5b8f 7c1af5f34053cbac7694082df663b736382c3e14c75e9238e9b86e1b1d431054 ad1af1add0dece2ca4fc947831d0776fad9b46ff8133432715d8be9222ccd676
Sous-chef requested-state: a7820c9c45cb35fd7351f1715bb01cbc7592b9dfd5d66c41878693ddd84d4fd6

Generated by 👨🍳 PR Sous Chef · pi · haiku45 · ~7 AIC · ⌖ ~13 AIC · ⊞ 1.2K · ◷
Comment /souschef to run again

…red-by

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>

Copilot AI commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

@copilot

Copilot assignment requested for the following outstanding work:...

I merged the latest main (7 new commits) into this branch in a69a49d. It merged cleanly, and make agent-report-progress passes.

Items 2–5 were already done in 80fd66f. This request will keep coming back until a maintainer resolves threads r4475080603, r4475080618, r4475165420 and r4475165477, which I can't resolve from here. My push won't start CI, so a maintainer also needs to re-run it.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot

Copilot assignment requested for the following outstanding work:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes.
  2. Review (actions/setup/js/copilot_model_selection.cjs:99): Looks good! Using Set deduplication with a 32-element cap is a clean approach. Consider adding a comment explaining the magic number 32 for future maintainers. - Show models powering auto in attribution footers #74985 (comment)
  3. Review (actions/setup/js/model_attribution.cjs:373): The fallback to observedModels from selection.observed_models when session usage is absent is a nice resilience improvement. Well handled! - Show models powering auto in attribution footers #74985 (comment)
  4. Review (actions/setup/js/copilot_model_selection.cjs:102): copilot_harness.cjs:2099 creates a fresh observer on every retry, including when resuming the same session, and initialization skips existing records. The next observation overwrites the selection log with only the retry's models, so an auto run using Gemini before a transient failure and Claude after resuming reports only Claude without firewall usage. Carry validated model history across attempts and add a resumed-session regression test. - Show models powering auto in attribution footers #74985 (comment)
  5. Review (actions/setup/js/model_attribution.cjs:352): When fallback_model is gpt-5.4 but native observed_models contains the qualified/bare pair for gpt-5.6-luna, this branch replaces the existing gpt54 label with auto (powered by GPT 5.6 Luna). Without firewall session evidence, those native observations identify Copilot's requested model rather than the replacement served by the proxy. Preserve fallback precedence before collecting the powered-by list. - Show models powering auto in attribution footers #74985 (comment)
  6. Review (actions/setup/js/model_attribution.cjs:328): usage/aw_session.jsonl is generated only after safe-output publication and the conclusion job's footer-producing steps (pkg/workflow/notify_comment.go:78–145). This loop therefore misses firewall observations during normal publication, leaving proxy-only auto runs unlabeled and omitting models absent from native metadata. Collect trusted proxy observations before publishing footers, and add coverage for that execution order. - Show models powering auto in attribution footers #74985 (comment)
  7. Review (actions/setup/js/model_attribution.cjs:334): Copilot's updated selection metadata is transported as runtime/aw_info.json, but this lookup reads only the root aw_info.json; the restore currently runs only in the later conclusion job. Native-only auto runs therefore publish safe-output footers without the newly recorded model names. Restore or read the runtime metadata before safe-output rendering, and cover the downloaded artifact layout in a regression test. - Show models powering auto in attribution footers #74985 (comment)

Once you start work, post this work summary as a PR comment without the leading Copilot mention, including the Sous-chef head, work, and state lines below, to record that the assignment is running. Apply the necessary fixes on this PR's existing branch, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved; stop when only human review or CI remains. Do not merge or trigger CI.

Sous-chef requested-head: a69a49d
Sous-chef requested-work: 071b79eb2e1aca8a6260522874ae9c10dabbd76704802f850ddc4238738c8544 2043f06d7a0592a29de8ba6911876e33a23cb97026fed1da448b4db8671de4c9 415e2b02d67f066b7c2ddf5f9eda57c896a1ea7b186bb34ba2ab0993ae905b31 531e0f3e7442d5de298cd79b697c843590b59c7ce5285d2a1d798926aa4f5b8f 7c1af5f34053cbac7694082df663b736382c3e14c75e9238e9b86e1b1d431054 ad1af1add0dece2ca4fc947831d0776fad9b46ff8133432715d8be9222ccd676
Sous-chef requested-state: ca916c2097c30b7091282b4e862e6b3f1fac5130d097714b56f0368e3df9f1a6

Generated by 👨🍳 PR Sous Chef · pi · haiku45 · ~10 AIC · ⌖ ~14 AIC · ⊞ 1.2K · ◷
Comment /souschef to run again

Copilot AI commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

@copilot

Copilot assignment requested for the following outstanding work:...

No changes this time. The branch is already up to date with main (merged in a69a49d), and items 2–5 were done in 80fd66f.

This request repeats because review threads r4475080603, r4475080618, r4475165420 and r4475165477 are still unresolved. A maintainer needs to resolve them, since I can't from here. CI also needs a maintainer to re-trigger it.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

Copilot assignment requested for the following outstanding work:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes.
  2. Review (actions/setup/js/copilot_model_selection.cjs:99): Looks good! Using Set deduplication with a 32-element cap is a clean approach. Consider adding a comment explaining the magic number 32 for future maintainers. - Show models powering auto in attribution footers #74985 (comment)
  3. Review (actions/setup/js/model_attribution.cjs:373): The fallback to observedModels from selection.observed_models when session usage is absent is a nice resilience improvement. Well handled! - Show models powering auto in attribution footers #74985 (comment)
  4. Review (actions/setup/js/copilot_model_selection.cjs:102): copilot_harness.cjs:2099 creates a fresh observer on every retry, including when resuming the same session, and initialization skips existing records. The next observation overwrites the selection log with only the retry's models, so an auto run using Gemini before a transient failure and Claude after resuming reports only Claude without firewall usage. Carry validated model history across attempts and add a resumed-session regression test. - Show models powering auto in attribution footers #74985 (comment)
  5. Review (actions/setup/js/model_attribution.cjs:352): When fallback_model is gpt-5.4 but native observed_models contains the qualified/bare pair for gpt-5.6-luna, this branch replaces the existing gpt54 label with auto (powered by GPT 5.6 Luna). Without firewall session evidence, those native observations identify Copilot's requested model rather than the replacement served by the proxy. Preserve fallback precedence before collecting the powered-by list. - Show models powering auto in attribution footers #74985 (comment)
  6. Review (actions/setup/js/model_attribution.cjs:328): usage/aw_session.jsonl is generated only after safe-output publication and the conclusion job's footer-producing steps (pkg/workflow/notify_comment.go:78–145). This loop therefore misses firewall observations during normal publication, leaving proxy-only auto runs unlabeled and omitting models absent from native metadata. Collect trusted proxy observations before publishing footers, and add coverage for that execution order. - Show models powering auto in attribution footers #74985 (comment)
  7. Review (actions/setup/js/model_attribution.cjs:334): Copilot's updated selection metadata is transported as runtime/aw_info.json, but this lookup reads only the root aw_info.json; the restore currently runs only in the later conclusion job. Native-only auto runs therefore publish safe-output footers without the newly recorded model names. Restore or read the runtime metadata before safe-output rendering, and cover the downloaded artifact layout in a regression test. - Show models powering auto in attribution footers #74985 (comment)

Once you start work, post this work summary as a PR comment without the leading Copilot mention, including the Sous-chef head, work, and state lines below, to record that the assignment is running. Apply the necessary fixes on this PR's existing branch, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved; stop when only human review or CI remains. Do not merge or trigger CI.

Sous-chef requested-head: a69a49d
Sous-chef requested-work: 071b79eb2e1aca8a6260522874ae9c10dabbd76704802f850ddc4238738c8544 2043f06d7a0592a29de8ba6911876e33a23cb97026fed1da448b4db8671de4c9 415e2b02d67f066b7c2ddf5f9eda57c896a1ea7b186bb34ba2ab0993ae905b31 531e0f3e7442d5de298cd79b697c843590b59c7ce5285d2a1d798926aa4f5b8f 7c1af5f34053cbac7694082df663b736382c3e14c75e9238e9b86e1b1d431054 ad1af1add0dece2ca4fc947831d0776fad9b46ff8133432715d8be9222ccd676
Sous-chef requested-state: ca916c2097c30b7091282b4e862e6b3f1fac5130d097714b56f0368e3df9f1a6

Generated by 👨🍳 PR Sous Chef · pi · haiku45 · ~10 AIC · ⌖ ~13 AIC · ⊞ 1.2K · ◷
Comment /souschef to run again

@pelikhan

pelikhan commented Nov 5, 2026

Copy link
Copy Markdown
Collaborator

@copilot resolve the merge conflicts on this branch.

…red-by

# Conflicts:
#	actions/setup/js/copilot_model_selection.cjs

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>

Copilot AI commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

@copilot resolve the merge conflicts on this branch.

Resolved in 2bf81a3. The only conflict was in actions/setup/js/copilot_model_selection.cjs. I kept both sides: this branch's set of observed models and main's change that skips records written before a resumed session. The 731 targeted tests and make agent-report-progress pass.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot

Copilot assignment requested for the following outstanding work:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes.
  2. Review (actions/setup/js/copilot_model_selection.cjs:99): Looks good! Using Set deduplication with a 32-element cap is a clean approach. Consider adding a comment explaining the magic number 32 for future maintainers. - Show models powering auto in attribution footers #74985 (comment)
  3. Review (actions/setup/js/model_attribution.cjs:373): The fallback to observedModels from selection.observed_models when session usage is absent is a nice resilience improvement. Well handled! - Show models powering auto in attribution footers #74985 (comment)

Once you start work, post this work summary as a PR comment without the leading Copilot mention, including the Sous-chef head, work, and state lines below, to record that the assignment is running. Apply the necessary fixes on this PR's existing branch, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved; stop when only human review or CI remains. Do not merge or trigger CI.

Sous-chef requested-head: 2bf81a3
Sous-chef requested-work: 2043f06d7a0592a29de8ba6911876e33a23cb97026fed1da448b4db8671de4c9 ad1af1add0dece2ca4fc947831d0776fad9b46ff8133432715d8be9222ccd676
Sous-chef requested-state: 449a49740c0e804b11465528d6bd04ea2d45e591234b82d98dd6fc755baaba90

Generated by 👨🍳 PR Sous Chef · pi · haiku45 · ~5 AIC · ⌖ ~12 AIC · ⊞ 1.2K · ◷
Comment /souschef to run again

Copilot AI commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

@copilot

Copilot assignment requested for the following outstanding work:...

Starting work on the requested items.

Sous-chef requested-head: 2bf81a3
Sous-chef requested-work: 2043f06d7a0592a29de8ba6911876e33a23cb97026fed1da448b4db8671de4c9 ad1af1add0dece2ca4fc947831d0776fad9b46ff8133432715d8be9222ccd676
Sous-chef requested-state: 449a49740c0e804b11465528d6bd04ea2d45e591234b82d98dd6fc755baaba90

…red-by

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
@pelikhan
pelikhan merged commit 1528468 into main Nov 6, 2026
46 checks passed
@pelikhan
pelikhan deleted the attribution-auto-powered-by branch November 6, 2026 03:56
@github-actions

github-actions Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v1.2.1

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.

6 participants