Skip to content

[docs] auth: Cross-reference Copilot auto model prefix-stripping in authentication-architecture - #8505

Merged
lpcox merged 1 commit into
mainfrom
docs-auth-copilot-auto-prefix-strip-4e9196abf4a00cd9
Sep 14, 2026
Merged

lpcox merged 1 commit into
mainfrom
docs-auth-copilot-auto-prefix-strip-4e9196abf4a00cd9

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Summary

Documentation Changes

  • docs/authentication-architecture.md — Added a paragraph after the existing Codex auto OpenAI-native-limitation caveat (Example 2) clarifying that this limitation does not apply to Copilot's own auto selector: harnesses routed through the Copilot provider (port 10002), including Codex and Pi, can request auto or copilot/auto, and the api-proxy sidecar strips the redundant copilot/ prefix before forwarding so Copilot resolves it dynamically. This matches the existing, more complete explanation already present in docs/api-proxy-sidecar.md (Codex example section) and closes the gap between the two documents.

Validation

  • Implementation checked: containers/api-proxy/model-utils.js (stripRedundantProviderPrefix), model-resolver.js, model-body-rewriter.js, body-handler.js — confirmed the always-on prefix-stripping pipeline shipped in merged PR Support "auto" model for Pi and Codex via provider-prefix stripping #8500 on main (commit 0603bd1).
  • Repository history checked: merged PR Support "auto" model for Pi and Codex via provider-prefix stripping #8500 (provider-prefix stripping), PR fix: isolate Actions OIDC from agent container #6894 / gh-aw#50053+gh-aw#50054 (Actions OIDC agent isolation, confirmed merged/closed) — no other open or unmerged auth-related work found affecting these docs since the 2026-09-11 scan window.
  • Cross-document consistency: compared the Codex/Copilot auto guidance in docs/api-proxy-sidecar.md and docs/authentication-architecture.md; wording and cross-reference link now aligned.
  • Markdown/link review: verified the added paragraph's relative link (api-proxy-sidecar.md#codex-openai-example) matches the existing anchor already used earlier in the same file.
  • Credential-leakage review: diffed the change — no tokens, keys, JWTs, or credential-bearing values present; only model-name/routing documentation.
  • Duplicate PR check: searched open PRs titled [docs] auth: — none found covering this specific cross-reference gap.

Sources

Generated by Auth Doctor Updater · copilot · auto · 96.3 AIC · ⊞ 10.7K ·

…cation-architecture

Codex's OpenAI-native auto limitation was documented, but the
authentication-architecture guide did not note that Copilot's own auto
selector (including the copilot/auto LiteLLM-style alias used by Codex
and Pi) is unaffected and supported via api-proxy prefix stripping
(stripRedundantProviderPrefix, shipped in #8500). This was already
documented in docs/api-proxy-sidecar.md but missing here, causing a
cross-document inconsistency.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions github-actions Bot added ai-generated documentation Improvements or additions to documentation labels Sep 13, 2026
@lpcox
lpcox requested a balanced review from Copilot September 14, 2026 02:07

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.

🟢 Approval recommended

The documentation accurately matches the implemented and tested prefix-stripping behavior.

Pull request overview

Clarifies that Copilot’s auto model supports copilot/auto through provider-prefix normalization.

Changes:

  • Distinguishes Copilot auto from OpenAI-native auto.
  • Documents automatic removal of the redundant copilot/ prefix.
File summaries
File Description
docs/authentication-architecture.md Adds Copilot model-routing clarification and cross-reference.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-actions

Copy link
Copy Markdown
Contributor Author

Documentation Preview

Documentation has been built for this PR.

Download preview artifact

To view locally:

  1. Download the docs-preview-pr-8505 artifact from the workflow run
  2. Unzip and open index.html in your browser

Built from commit 88dede6

@github-actions

Copy link
Copy Markdown
Contributor Author

✅ Copilot review passed with no inline comments.

@github-actions[bot] Add the ready-for-aw label to this PR to trigger agentic CI smoke tests.

@github-actions

github-actions Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

Smoke Copilot BYOK AOAI (api-key) reports failed. AOAI BYOK (api-key) mode investigation needed...

🔑 BYOK (AOAI api-key) report filed by Smoke Copilot BYOK AOAI (api-key)

@github-actions

github-actions Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟

Warning

Firewall blocked 7 domains

The following domains were blocked by the firewall during workflow execution:

  • accounts.google.com
  • android.clients.google.com
  • clients2.google.com
  • contentautofill.googleapis.com
  • msfeed25.pkgs.visualstudio.com
  • www.google.com
  • www.gstatic.com

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

network:
  allowed:
    - defaults
    - "accounts.google.com"
    - "android.clients.google.com"
    - "clients2.google.com"
    - "contentautofill.googleapis.com"
    - "msfeed25.pkgs.visualstudio.com"
    - "www.google.com"
    - "www.gstatic.com"

See Network Configuration for more information.

🔮 The oracle has spoken through Smoke Codex

@github-actions

github-actions Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

Build Test Suite completed successfully!

Generated by Build Test Suite for #8505

@github-actions

github-actions Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

Chroot tests passed! Smoke Chroot - All security and functionality tests succeeded.

Tested by Smoke Chroot

@github-actions

github-actions Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

Smoke Gemini reports failed. Facets need polishing...

💎 Faceted by Smoke Gemini

@github-actions

github-actions Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤

📰 BREAKING: Report filed by Smoke Copilot

@github-actions

github-actions Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

📰 DEVELOPING STORY: Smoke Docker Sbx reports failed. Our correspondents are investigating the incident...

📰 BREAKING: Report filed by Smoke Docker Sbx

@github-actions

github-actions Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

📡 Smoke OTel Tracing completed. All tracing scenarios validated. ✅

📡 OTel tracing validated by Smoke OTel Tracing

@github-actions

github-actions Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

Smoke Copilot BYOK completed. Copilot BYOK mode operational. 🔓

🔑 BYOK report filed by Smoke Copilot BYOK

@github-actions

Copy link
Copy Markdown
Contributor Author

🚀 Security Guard has started processing this pull request

@github-actions

github-actions Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

Smoke Copilot BYOK AOAI (Entra) reports failed. AOAI BYOK (Entra) mode investigation needed...

🪪 BYOK (AOAI Entra) report filed by Smoke Copilot BYOK AOAI (Entra)

@github-actions

github-actions Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

🔌 Smoke Services — All services reachable! ✅

🔌 Service connectivity validated by Smoke Services

@github-actions

github-actions Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

Smoke Claude passed

Warning

Firewall blocked 1 domain

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

  • api.anthropic.com

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

network:
  allowed:
    - defaults
    - "api.anthropic.com"

See Network Configuration for more information.

Generated by Smoke Claude for #8505

@github-actions

github-actions Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

🛡️ Smoke Copilot Network Isolation confirmed the egress allowlist is enforced. ✅

Warning

Firewall blocked 1 domain

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

  • example.com

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

network:
  allowed:
    - defaults
    - "example.com"

See Network Configuration for more information.

🛡️ Egress verdict from Smoke Copilot Network Isolation

@github-actions

Copy link
Copy Markdown
Contributor Author

Smoke Test: Copilot Engine@lpcox

Overall: PASS

📰 BREAKING: Report filed by Smoke Copilot
Add label ready-for-aw to run again

@github-actions

Copy link
Copy Markdown
Contributor Author

Copilot BYOK (Direct) Mode Smoke Test PASSED

  • ✅ GitHub MCP connectivity (list_pull_requests verified)
  • ✅ GitHub.com connectivity (HTTP 200)
  • ✅ File write/read (smoke-test-copilot-byok.txt accessible)
  • ✅ BYOK inference (direct → api-proxy → api.githubcopilot.com)

Mode: Direct BYOK (COPILOT_PROVIDER_API_KEY) via api-proxy sidecar
Status: PASS

🔑 BYOK report filed by Smoke Copilot BYOK
Add label ready-for-aw to run again

@github-actions github-actions Bot added smoke-copilot-byok smoke-copilot-network-isolation Copilot network-isolation egress smoke test labels Sep 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor Author

EGRESS_RESULT allow=pass deny=pass

✅ Allowed domain (github.com) reachable: allowed=200
✅ Blocked domain (example.com) denied: 403 CONNECT tunnel failure

Overall: PASS

cc @lpcox

Warning

Firewall blocked 1 domain

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

  • example.com

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

network:
  allowed:
    - defaults
    - "example.com"

See Network Configuration for more information.

🛡️ Egress verdict from Smoke Copilot Network Isolation
Add label ready-for-aw to run again

@github-actions

Copy link
Copy Markdown
Contributor Author

Smoke Test: Claude Engine Validation

Check Result
API status ✅ PASS
gh check ✅ PASS
File status ✅ PASS

Overall result: PASS

Warning

Firewall blocked 1 domain

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

  • api.anthropic.com

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

network:
  allowed:
    - defaults
    - "api.anthropic.com"

See Network Configuration for more information.

Generated by Smoke Claude for #8505 · claude · haiku45 · 55.2 AIC · ⊞ 4.5K ·
Add label ready-for-aw to run again

@github-actions

Copy link
Copy Markdown
Contributor Author

📡 OTel Tracing Smoke Test Results

# Scenario Result
1 OTEL module initialization (otel.js loads, isEnabled()) ✅ Loaded; isEnabled: true; exports include startRequestSpan, setTokenAttributes, setBudgetAttributes, endSpan, endSpanError, shutdown
2 Test suite (npx jest --testPathPatterns='otel') ✅ 3 suites, 68/68 tests passed (otel.test.js, otel-fanout.test.js, otel-workload-identity.test.js)
3 Env var forwarding env-passthrough.ts forwards GITHUB_AW_OTEL_TRACE_ID/GITHUB_AW_OTEL_PARENT_SPAN_ID; api-proxy-env-config.ts forwards GH_AW_OTLP_ENDPOINTS, OTEL_EXPORTER_OTLP_ENDPOINT, and trace context
4 Token tracker OTEL hook token-tracker-http.js contains the onUsage callback used as the OTEL integration point
5 OTLP export via Squid otel.jsonl contains an exported span (gh-aw.agent.setup, correct traceId/parentSpanId, gen_ai.system attribute); Squid access log shows successful CONNECT 200 TCP_TUNNEL requests from the api-proxy container (172.30.0.30) to o205451.ingest.us.sentry.io:443

Summary: All 5 scenarios passed — OTEL module loading, span creation, GenAI usage attributes, env var/context propagation, and OTLP export through Squid are all working as expected. No regressions detected.

📡 OTel tracing validated by Smoke OTel Tracing
Add label ready-for-aw to run again

@github-actions

Copy link
Copy Markdown
Contributor Author

Smoke Test: Services Connectivity — PASS ✅

  • Redis PING: ✅ PONG
  • PostgreSQL pg_isready: ✅ accepting connections
  • PostgreSQL SELECT 1: ✅ 1

Overall: PASS

🔌 Service connectivity validated by Smoke Services
Add label ready-for-aw to run again

@github-actions

Copy link
Copy Markdown
Contributor Author
  • Support "auto" model for Pi and Codex via provider-prefix stripping
  • chore(workflows): upgrade gh-aw to v0.89.8
  • Merged PR review/details: ✅
  • Playwright title check: ✅
  • Temp file write/read: ✅
  • Discussion comment: ❌
  • AWF build: ✅
  • Overall: FAIL

Warning

Firewall blocked 7 domains

The following domains were blocked by the firewall during workflow execution:

  • accounts.google.com
  • android.clients.google.com
  • clients2.google.com
  • contentautofill.googleapis.com
  • msfeed25.pkgs.visualstudio.com
  • www.google.com
  • www.gstatic.com

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

network:
  allowed:
    - defaults
    - "accounts.google.com"
    - "android.clients.google.com"
    - "clients2.google.com"
    - "contentautofill.googleapis.com"
    - "msfeed25.pkgs.visualstudio.com"
    - "www.google.com"
    - "www.gstatic.com"

See Network Configuration for more information.

🔮 The oracle has spoken through Smoke Codex
Add label ready-for-aw to run again

@github-actions

Copy link
Copy Markdown
Contributor Author

🏗️ Build Test Suite Results

Ecosystem Project Build/Install Tests Status
Bun elysia 1/1 passed ✅ PASS
Bun hono 1/1 passed ✅ PASS
C++ fmt N/A ✅ PASS
C++ json N/A ✅ PASS
Deno oak N/A 1/1 passed ✅ PASS
Deno std N/A 1/1 passed ✅ PASS
.NET hello-world N/A ✅ PASS
.NET json-parse N/A ✅ PASS
Go color 1/1 passed ✅ PASS
Go env 1/1 passed ✅ PASS
Go uuid 1/1 passed ✅ PASS
Java gson 1/1 passed ✅ PASS
Java caffeine 1/1 passed ✅ PASS
Node.js clsx passed ✅ PASS
Node.js execa passed ✅ PASS
Node.js p-limit passed ✅ PASS
Rust fd 1/1 passed ✅ PASS
Rust zoxide 1/1 passed ✅ PASS

Overall: 8/8 ecosystems passed — PASS

Note: Java's local Maven repository (~/.m2/repository) initially failed with a permission error unrelated to the firewall (the directory was pre-created as root-owned in this runner environment). Resolved by pointing localRepository to a writable path in ~/.m2/settings.xml; the Squid proxy configuration itself worked correctly (JAVA_TOOL_OPTIONS proxy settings were honored).

Generated by Build Test Suite for #8505 · copilot · auto · 49.4 AIC · ⊞ 10.6K ·
Add label ready-for-aw to run again

@github-actions

Copy link
Copy Markdown
Contributor Author

Chroot vs Host Version Comparison

Runtime Host Version Chroot Version Match?
Python Python 3.12.14 Python 3.12.14 ✅ YES
Node.js v24.20.0 v22.23.2 ❌ NO
Go go1.22.12 go1.22.12 ✅ YES

Result: Not all tests passed (ALL_TESTS_PASSED=false) — Node.js version differs between host and chroot environment. smoke-chroot label was not added.

Tested by Smoke Chroot
Add label ready-for-aw to run again

@lpcox
lpcox merged commit ed0553e into main Sep 14, 2026
164 of 170 checks passed
@lpcox
lpcox deleted the docs-auth-copilot-auto-prefix-strip-4e9196abf4a00cd9 branch September 14, 2026 03:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants