Repository navigation
Conversation
Replace the Variables REST lookup that GITHUB_TOKEN cannot call with the same Environment vars channel used by the scheduler IAM workflow. Co-authored-by: Pigbibi <Pigbibi@users.noreply.github.com>
Record owner t1393 installed hashes versus contract intent, and a PROPOSED_NOT_OBSERVED bootstrap design with discovery preference. Co-authored-by: Pigbibi <Pigbibi@users.noreply.github.com>
Correct B0 evidence rules for projects.testIamPermissions caller semantics, clarify B1 versus Card C stages, and document org-vars as operational-only. Co-authored-by: Pigbibi <Pigbibi@users.noreply.github.com>
Treat allow-binding plus role expansion as UNKNOWN unless conditions, deny, PAB, inheritance, identity and time axes are authoritatively covered; keep rejected and unknown fail-closed. Co-authored-by: Pigbibi <Pigbibi@users.noreply.github.com>
Remove live mapping digests and ids from the tip tree, and keep discovery ACCEPTED unreachable without a supported trusted provenance kind. Co-authored-by: Pigbibi <Pigbibi@users.noreply.github.com>
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b0130200ae
ℹ️ 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".
| env: | ||
| MAPPING_GCP_PROJECT_ID: ${{ vars.GCP_PROJECT_ID }} | ||
| MAPPING_PAPER_SCHEDULER_GET_PROJECT_ID: ${{ vars.PAPER_SCHEDULER_GET_PROJECT_ID }} | ||
| MAPPING_GCP_WORKLOAD_IDENTITY_SERVICE_ACCOUNT: ${{ vars.GCP_WORKLOAD_IDENTITY_SERVICE_ACCOUNT }} | ||
| MAPPING_PAPER_IAM_GRANT_RECIPIENT: ${{ vars.PAPER_IAM_GRANT_RECIPIENT }} |
There was a problem hiding this comment.
Mask mappings before binding them to the first step environment
When any mapping is populated, this first step exposes its value in the Actions log before the JavaScript can mask it: the runner prints the step environment during preparation, before executing the action. Values from vars are not automatically secret-masked, and the later core.setSecret() calls cannot redact output already written. This leaks project IDs, service-account emails and the WIF provider even when a subsequent blank mapping stops authentication. The offline harness only checks masking before export, so it misses this runner-generated disclosure. Use an ingestion mechanism that does not place unmasked mappings in the initial step details, preserving the public-resource boundary in AGENTS.md.
AGENTS.md reference: AGENTS.md:L81-L83
Useful? React with 👍 / 👎.
AI assistance
Cursor Auto (Composer). Continues M03 under owner t1394/t1401 bounded fix after independent FAIL on prior head. No merge authorization; no self-approval.
What changed
vars+ mask-before-export; no Variables REST).SUPPORTED_TRUSTED_PROVENANCE_KINDSis empty; self-attested booleans / fixture packs / forged provenance cannot reachaccepted. One-sided resource/hash → reject. Missing resource/hash/time/provenance → unknown. Structural tests ≠ runtime IAM proof.How verified (offline — not CLEAN / not merge acceptance)
Head
b013020:Prior 55+103 green did not close D1/D2.
Risk
risk:high. Draft only. No GCP GET, IAM/vars/Secrets writes, token mint, workflow_dispatch, Environment approval, deploy, PAPER, merge, labels, review requests, or PR review comments from this agent.Residuals for the same independent reviewer
varsstill operational-only (not technically enforced)risk-gateFAILURE;ai-reviewPENDING; labels empty; reviews noneacceptedunreachable until a supported trusted provenance kind is owner-wiredArtifacts:
docs/iam/paper-executor-grant-remediation.md,scripts/paper_iam_discovery_evidence.py