Skip to content

ci: Diagnose protected mapping read failures safely - #721

Merged
Pigbibi merged 1 commit into
mainfrom
fix/protected-mapping-diagnostics
Nov 6, 2026
Merged

Pigbibi merged 1 commit into
mainfrom
fix/protected-mapping-diagnostics

Conversation

@Pigbibi

@Pigbibi Pigbibi commented Nov 6, 2026

Copy link
Copy Markdown
Collaborator

AI assistance

OpenAI Codex, gpt-6.1-sol.

What changed

Report the failing protected mapping's fixed variable name, lookup scope and allowlisted error category in the first mapping-read action. Preserve masking before authentication, zero exports on failure and Environment-first lookup with same-name repository fallback only on HTTP 404. Document the categories and add fake-only adverse tests.

How verified

  • Before patch: 204 new adverse cases failed; 27 existing cases passed.
  • After patch: focused 231 passed; full frozen-environment suite 3539 passed, 1 skipped and 431 subtests passed.
  • Ruff, diff whitespace, documentation check (zero blocking, one existing README advisory) and 11 Node review contracts passed.
  • Fixed names, token settings, all gates, export loop and subsequent workflow steps are byte-identical to main.
  • Initial shared-environment run had 2 failures and 8 errors from installed UES revision drift; rerun used the prior observability environment with byte-identical uv.lock and passed. No dependency changes.

Why

The first protected-mapping step previously replaced every failure with a generic message, preventing offline diagnosis from distinguishing authorization, absence, malformed responses and transport failure. Raw exception/URL/response/header/value payloads remain excluded.

Risk

High: protected workflow path, limited to pre-authentication observability. No token permission change, execution-gate change, IAM/Secret/Environment configuration write, workflow dispatch, grant retry, apply or PAPER start. Offline tests do not prove real Variables API access or deployed adoption. Draft only; review/merge is separate. Any protected execution remains a separate owner card.

Publication check

Central checker publication-check/2.0-advisory build 83d9d1130377 (advisory): findings=1498, total matching lines=1487. Complete tracked candidate tree scanned. Added-line matching count=0 (121 added lines); existing-tree findings are not an authorization or credential disclosure. First 20 masked matches:

  • .env.example:21 — TELEGRAM_TOKEN=<<HOST>>
  • .<PROJECT_ID>/CODEOWNERS:7 — /.env.example @<PROJECT_ID>
  • .<PROJECT_ID>/CODEOWNERS:8 — /.github/CODEOWNERS @<PROJECT_ID>
  • .<PROJECT_ID>/CODEOWNERS:9 — /.github/workflows/ @<PROJECT_ID>
  • .<PROJECT_ID>/CODEOWNERS:10 — /application/account_new_risk_gate_support.py @<PROJECT_ID>
  • .<PROJECT_ID>/CODEOWNERS:11 — /application/durable_execution_commands.py @<PROJECT_ID>
  • .<PROJECT_ID>/CODEOWNERS:12 — /application/execution_receipt_adapter.py @<PROJECT_ID>
  • .<PROJECT_ID>/CODEOWNERS:13 — /application/execution_service.py @<PROJECT_ID>
  • .<PROJECT_ID>/CODEOWNERS:14 — /application/execution_state.py @<PROJECT_ID>
  • .<PROJECT_ID>/CODEOWNERS:15 — /application/longbridge_execution.py @<PROJECT_ID>
  • .<PROJECT_ID>/CODEOWNERS:16 — /application/paper_execution_command_consumer.py @<PROJECT_ID>
  • .<PROJECT_ID>/CODEOWNERS:17 — /application/paper_strategy_risk_state.py @<PROJECT_ID>
  • .<PROJECT_ID>/CODEOWNERS:18 — /runtime_execution_policy.py @<PROJECT_ID>
  • .<PROJECT_ID>/CODEOWNERS:19 — /scripts/execution_report_heartbeat.py @<PROJECT_ID>
  • .<PROJECT_ID>/dot-review/review.cjs:106 — const token = <REDACTED> core.getIDToken(audienceText); // Exact bytes; URL normalization may change an audience.
  • .<PROJECT_ID>/dot-review/review.cjs:190 — const <PROJECT_ID> = {...pr,head:{...pr.head,sha:pair.target},base:{...pr.base,sha:pair.base}};
  • .<PROJECT_ID>/dot-review/review.cjs:191 — const binding = {...b.binding({repository:trust.repo.full_name,pr:<PROJECT_ID>,policyCommit:trust.commit,files},trust.policySha),
  • .<PROJECT_ID>/dot-review/test-review.cjs:81 — const content='<PROJECT_ID> source\n', sourceSHA='d'.repeat(40);
  • .<PROJECT_ID>/dot-review/test-review.cjs:82 — const pr={number:7,changed_files:1,commits:1,title:'<PROJECT_ID> change',body:'<PROJECT_ID> body',
  • .<PROJECT_ID>/dot-review/test-review.cjs:100 — assert.equal(audience,'https://audience.example.test');return '<PROJECT_ID>-only';},summary};

@Pigbibi

Pigbibi commented Nov 6, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

Please review the exact current head bc90c84 of this observability-only Draft PR. Keep the review bound to this head. This request grants no deployment, workflow redispatch, Environment approval, IAM, Secret, apply or PAPER operation.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-06T20:25:08.641435Z bc90c84 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🎉

Reviewed commit: bc90c842de

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@Pigbibi Pigbibi added the agent-approved An agent cleared this high-risk change on the current head; not an owner confirmation label Nov 6, 2026
@Pigbibi
Pigbibi marked this pull request as ready for review November 6, 2026 20:22
@Pigbibi
Pigbibi merged commit 462270e into main Nov 6, 2026
14 of 16 checks passed
@Pigbibi
Pigbibi deleted the fix/protected-mapping-diagnostics branch November 6, 2026 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent-approved An agent cleared this high-risk change on the current head; not an owner confirmation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant