Skip to content

Grant pull-requests: read on Every validate-task Caller Stub - #4044

Merged
ptr727 merged 1 commit into
developfrom
feature/stub-pr-read-grant
Nov 11, 2026
Merged

ptr727 merged 1 commit into
developfrom
feature/stub-pr-read-grant

Conversation

@ptr727

@ptr727 ptr727 commented Nov 11, 2026

Copy link
Copy Markdown
Owner

Summary

Every caller of validate-task.yml now grants pull-requests: read beside contents: read. That covers the three catalog snippets, the hub's own test-pull-request.yml and publish-release.yml, and the stub shapes quoted in docs/reusable-workflows.md. A new paragraph under "Secrets and Permissions" says what the grant is for and that it does nothing until the lint job declares the scope.

The lint job is deliberately unchanged. A callee job naming a scope its caller did not grant fails at startup, so the stubs have to carry the grant first.

#2354 stays open for the lint job's own grant and the stub-by-stub downstream rollout.

Closes on promotion: none

Verification

  • A local strict review at the frontier tier raised no findings, and the pass is recorded and attested.
  • The prose gate, repo_gate.py, actionlint, and markdownlint pass, and so does spec/validate.py.
  • test_audit_helpers, test_release_guards, test_repo_gate, and test_spec_validate pass.
  • The pull request's own run of Validate sources job exercises the wider grant on the hub's callers.

🤖 Generated with Claude Code

A reusable workflow cannot raise its caller's grant, and a callee job naming a scope the caller withheld fails at startup.
So the grant reaches the catalog snippets, the hub's own callers, and the documented stub shapes ahead of the lint job that will declare it.
The lint job and the downstream stubs stay on #2354.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings November 11, 2026 00:09
@coderabbitai

coderabbitai Bot commented Nov 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@ptr727

ptr727 commented Nov 11, 2026

Copy link
Copy Markdown
Owner Author

A recorded local strict-review pass covers head 223cf54c42e61d60969e2836cc328558fcd048cc, the content this pull request carries at that commit against develop, and it recorded 0 findings.

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

No active review issues are present, and the permission updates consistently cover all documented and workflow callers.

No open issues 🎉

What changed in this PR

This PR prepares every current validate-task.yml caller for the lint job's future live pull-request label read by adding the required permission to catalog snippets, hub workflows, and documentation examples, while leaving the callee unchanged.

Changes:

  • Add pull-requests: read beside contents: read in all caller stubs.
  • Update reusable workflow documentation and examples.
  • Document the staged permission rollout for the follow-up lint-job change.
File Description
docs/​reusable-workflows.md Documents the permission requirement and updates reusable workflow caller examples.
catalog/​snippets/​workflows/​test-pull-request.yml Grants pull-request read access to the catalog test caller.
catalog/​snippets/​workflows/​test-pull-request-smoke.yml Grants pull-request read access to the catalog smoke-test caller.
catalog/​snippets/​workflows/​publish-release.yml Grants pull-request read access to the catalog release validation caller.
.github/​workflows/​test-pull-request.yml Grants pull-request read access to the hub test workflow caller.
.github/​workflows/​publish-release.yml Grants pull-request read access to the hub release workflow caller.

Review effort: Lite

@codecov

codecov Bot commented Nov 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.03%. Comparing base (9b277fc) to head (223cf54).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #4044   +/-   ##
========================================
  Coverage    79.03%   79.03%           
========================================
  Files           37       37           
  Lines        12676    12676           
========================================
  Hits         10019    10019           
  Misses        2657     2657           
Flag Coverage Δ
python-3.13 79.03% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ptr727
ptr727 merged commit 9c78d5d into develop Nov 11, 2026
13 of 14 checks passed
@ptr727
ptr727 deleted the feature/stub-pr-read-grant branch November 11, 2026 01:13
ptr727 added a commit that referenced this pull request Nov 11, 2026
…ry Short Names, Stub Read Grant (#4054)

## Summary

Promotes burndown round 1 of the attended run of 2026-11-10 from
`develop` to `main`.

- #4047: an attested local pass keeps `coverage=local` against a round
that only carries a file table. A promotion now reads green Dependabot
manifest bumps as covered, through the new `pr_review_promotion.py`. The
promotion case also counts an attestation over direct-to-`develop`
changes and excuses byte-identical renames.
- #4045: the loop skills resume a parked group on a recorded answer,
present each question once, accept a clone tip at or behind head, and
re-check `deferred` issues whose condition is checkable. An away run's
endings that cannot dispatch a promotion worker now report that.
- #4046: every registry entry carries a required, gated `shortName`. A
changed short name fails the spec gate as a migration.
- #4044: `pull-requests: read` on each caller stub's `validate` job, the
hub half of #2354. It takes effect once the lint job declares the scope.
- #4052, #4053, #4055, from other sessions: registry and rollout-tracker
updates. They declare Python for Vantage-Config, register the Employment
repository with its short name and pin, and reconcile the HolidayLights
entry.

Fixes #3955
Fixes #3909
Fixes #3901
Fixes #3905
Fixes #4012
Fixes #3830
Fixes #2669
Fixes #4023
Fixes #4028

#2354 stays open for the lint job's grant and the downstream rollout.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
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.

2 participants