Repository navigation
Retain Claude federation diagnostics and pinned vendor documentation - #961
Merged
seathatflowsinourveins merged 3 commits intoOct 10, 2026
Merged
Conversation
|
Dependency limit exceeded — report not shown. This pull request scan exceeded the 10,000-dependency limit applied to this scan, so the results are incomplete and may be inaccurate. To avoid reporting false positives, Socket has not posted a report. Upgrade your plan to raise the dependency limit and get complete reports, or view the partial scan in the dashboard. Socket is always free for open source. If this is a non-commercial open source project, contact us to request a free Team account. |
7 of 9 tasks
5 of 6 tasks
seathatflowsinourveins
force-pushed
the
codex/ns2604-gha-p1-federation-20261010
branch
from
October 10, 2026 13:20
6353fad to
cb96782
Compare
seathatflowsinourveins
marked this pull request as ready for review
October 10, 2026 13:33
seathatflowsinourveins
deleted the
codex/ns2604-gha-p1-federation-20261010
branch
October 10, 2026 13:47
seathatflowsinourveins
added a commit
that referenced
this pull request
Oct 10, 2026
…ent (#968) The owner ruled on 2026-10-10 (relayed by the command center, paraphrased) that CI Claude review authenticates with an Anthropic API key, not workload identity federation, which refused every run so far. The key is the environment secret ANTHROPIC_API_KEY of `claude-review`, whose deployment branch policy allows main only, so a workflow pushed on another branch gets no key. claude-pr-review.yml, claude-pr-toolkit-review.yml and harness-audit.yml pass anthropic_api_key from that secret and no federation input. The job that uses the key declares environment: claude-review, and no job holds id-token: write. They pass github_token, so the pinned action (2dca132f) requests no GitHub OIDC token (src/github/token.ts:160-168, base-action/src/workload-identity.ts:43-47). Every other guard is unchanged: dispatch and schedule on main only, the owner and first-attempt guards, the bounds step, the daily ceiling and the read-only tools. The federation exemption and the three id-token write grants leave tests/test_workflow_policy.py. The new tests.test_workflow_hardening.ClaudeApiKeyAuthTests requires the secret once per workflow, the key-using job in the environment, no federation input, no id-token, no pull request trigger, and the secret in no other workflow. It fails on main's workflows and passes here. The decision records and docs/github-automation.md carry the ruling, paraphrased. #961's federation diagnostics record is marked superseded for CI review; its vendor snapshots stay retained and tested, and its two workflow-header tests now require the API-key environment and no federation claim. #961's error_class logic in the three workflows is kept. Co-authored-by: seathatflowsinourveins <234074349+seathatflowsinourveins@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Scope
Retain the fixed zero-cost Claude error diagnosis in all three federation workflows while continuing to reject the run. This PR delivers diagnostics and documentation from the audit plan's P1 code/docs scope. Console rule correction and one native acceptance dispatch are owner work; the broad schedule stays off and harness audit stays disabled until that acceptance succeeds.
f6ae0de74c151dce9204f6b6bdae7ea048932881, current main when this separate P1 worktree started.cb9678203762c96f9d418db99dcd81cab2b8b0ab, after the CC-cued single landing rebase onto mainfcdeae42c82b2279ccd5a0ee3867fd70ba1beff2.lane:foundation.scripts.host_receipts.register_fileroutine, followed by sorted-manifest and FULL validation. No snapshot bytes are redacted, encoded or refetched.The fixed error class requires
is_error == true,total_cost_usd == 0andmodelUsage == {}; it describes that shape and does not establish a Console denial reason. Raw provider strings stay out of record, summary and console. Toolkit accounting retains incomplete totals as null and checks every result. The actual hosted S2 subtype-success/is_error-true/num_turns-1 shape is exercised synthetically.P3 resolver/cron/cache work stays separate. The local review worker #953 is adopted from actual main after it lands.
SOTA sources
CPython v3.13.16:Lib/unittest/case.py:647 calls setUp before the test method at:651; subTest at:538 is a context manager inside that case. It does not reset its fixture, so each privacy arm owns a fresh TemporaryDirectory/copytree publication. Native source was verified at this release.
anthropics/claude-code-action@2dca132ff0e0c4094ce6048b422c6915a071210b:base-action/src/run-claude-sdk.ts:141: the result fields
is_error,total_cost_usd,modelUsage; line 222 retains execution records; lines252–256 treat subtype success with is_error true as a failure.The same action:base-action/src/workload-identity.ts:51 and examples/claude-wif.yml:31: supported GitHub federation and its permission.
GitHub OIDC reference: retained
evidence/artifacts/claude-federation-docs-20261010/docs.github.com_actions_reference_security_oidc.txt:352–359, revisionsha256:35d79cb17e94732a467c63e59c3a01d18029b47f4b5f9cbf15d92037164b03cd, retrieved2026-10-10, 37248 bytes. Vendor URL. The separate pull_request suffix is at332–336; combining it with the native RESTsub_claim_prefixis explicitly derived, not quoted from the immutable-subject section.Claude WIF GitHub guide: retained
evidence/artifacts/claude-federation-docs-20261010/platform.claude.com_wif-providers_github-actions.md:316, revisionsha256:edc97bf1872a1292911b08600aadfc494295009cc6db1da232279dae46c0429b, retrieved2026-10-10, 14693 bytes. Vendor URL. Opaque exchange denial and native history supply distinct evidence.Claude WIF concepts: retained
evidence/artifacts/claude-federation-docs-20261010/platform.claude.com_workload-identity-federation.md:42, revisionsha256:d929e36810bcfdcc7a9bf5de39df8b08fbfde60a6d4c138b097f0940feb13bb7, retrieved2026-10-10, 25749 bytes. Vendor URL. All configured subject/audience/claim matchers must pass.evidence/artifacts/claude-federation-docs-20261010/snapshots.jsonbinds those three source URLs, content revisions, dates, sizes and claim-line locators. The reviewed source packet was staged at2026-10-10T07:03:18Z; individual request times were not recorded, so that timestamp is not relabeled as an exact retrieval time.Repository-supported registration:
scripts/host_receipts.py:register_file, documented indocs/lanes.mdandrecipes/saturation-sweep.md; current CI-supported kjanat/actionlint 1.17.0 and zizmor 1.30.1 remain the native workflow checks.Evidence-class table
Local commands run
Decision record
docs/decisions/2026-10-10-claude-federation-diagnostics.md: final diagnostics/documentation scope, pinned vendor references, immutable-subject derivation, retained source boundary and operational acceptance procedure. The audit plan's O7/O8 remains on the separate owner list; broad review scheduling and harness re-enablement wait for accepted native federation.Host evidence
No files under
evidence/hosts/are changed.Checklist