Visitar URL original
Claim Registry Required Secrets in Both Stores by ptr727 · Pull Request #4025 · ptr727/ProjectTemplate · GitHub
Skip to content

Claim Registry Required Secrets in Both Stores - #4025

Merged
ptr727 merged 3 commits into
developfrom
feature/3936-secrets-both-stores
Nov 10, 2026
Merged

ptr727 merged 3 commits into
developfrom
feature/3936-secrets-both-stores

Conversation

@ptr727

@ptr727 ptr727 commented Nov 10, 2026 •

Copy link
Copy Markdown
Owner

Summary

A registry requiredSecrets name is now owed in both the Actions and the Dependabot secrets store, as a baseline name is. A workflow run a Dependabot pull request triggers reads the Dependabot store alone, so a repository-specific secret that PR CI reads needs both copies. configure.sh apply already writes each name to the stores the shared resolver names, so it now writes both.

  • spec/secret_names.py: resolve_secret_stores adds requiredSecrets to every store rather than the Actions store alone. The test asserting Actions-only placement now asserts both stores.
  • spec/secrets.json: KICADLIBRARY_READ_TOKEN gets the repository scope, and the notes state the both-store placement.
  • registry/repos.json: EspDinIoT declares KICADLIBRARY_READ_TOKEN, which its PR workflow reads to check out the private KiCadLibrary submodule. Per STANDUP.md section 2 (the registry is reality, not intent), its planned two-phase github-release source release, its python type, and the CODECOV_TOKEN kept for the tests its coming scripts will carry stay out of the entry. A driftNote records them for its resync to write as each lands. Its two replaced driftNotes were stale: main holds the design and both branches carry the PR workflow.
  • AUDIT.md, STANDUP.md, repo-config/README.md (scope table row added), the resolve_secrets.py docstring, the validate.py comments, the registry schema $comment, the hugo type note, and the Blog driftNote each stated the old Actions-only placement and are corrected.

Verification

  • spec/validate.py: OK, 22 cataloged repos classify cleanly.
  • Full unit suite: 3769 tests, OK (11 skipped).
  • spec/audit.py across all 22 cataloged repositories, before (develop) and after (this branch): the only change in secrets: findings is EspDinIoT's two KICADLIBRARY_READ_TOKEN DRIFT lines clearing. No repository gains a finding. Every other registry requiredSecrets name is already owed in both stores through a mechanism.
  • EspDinIoT keeps one expected CODECOV_TOKEN DRIFT per store until its resync declares the python type with tests.

Local review

Three recorded local-strict-review passes. The first two raised seven stale sibling statements of the old placement and the registry recording intent, each fixed in the following commit. The third raised two findings that need live state, each disproved: a fleet-wide before/after audit shows no repository newly owing a Dependabot copy, and EspDinIoT's main holds the design files rather than a stub.

Part of #3936. The promotion PR carries its closing line.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Clarified that required repository secrets, including baseline secrets, must be available in both Actions and Dependabot stores.
    • Updated guidance on which stores hold mechanism-specific secrets and how Dependabot-triggered workflows access secrets.
  • Configuration
    • Added a required secret for private KiCadLibrary access.
    • Updated repository secret-scope and registry notes to reflect current requirements.

ptr727 and others added 3 commits November 9, 2026 20:43
A registry requiredSecrets name is now owed in the Dependabot store as well
as the Actions store, as a baseline name is, since a workflow run a
Dependabot pull request triggers reads the Dependabot store alone. Every
registry entry declaring requiredSecrets today already owes each name in
both stores through a mechanism, so no other repository gains a finding.

Declare EspDinIoT's KICADLIBRARY_READ_TOKEN (repository scope) and
CODECOV_TOKEN, and set its target to a two-phase github-release source
release, which clears its four secrets DRIFT findings.

Fixes #3936

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Keep EspDinIoT's entry to reality, per STANDUP.md section 2: declare
KICADLIBRARY_READ_TOKEN alone, and name the planned source release, the
python type, and the CODECOV_TOKEN kept for its tests in a driftNote for its
resync to write when each lands.

Restate the both-store rule where STANDUP.md and the resolve_secrets.py
docstring still described the old placement, add the new name to the
repo-config scope table, and drop a registry name count that went stale.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The hugo type note still said requiredSecrets resolves against the actions
store alone, and a validate.py comment still said every declared name is
also required by a mechanism, which KICADLIBRARY_READ_TOKEN is not.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings November 10, 2026 05:13
@ptr727 ptr727 added the comments Permits the comment lines the pull request adds or edits, which the prose gate otherwise refuses label Nov 10, 2026
@coderabbitai

coderabbitai Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

Registry-required secrets are now resolved for both Actions and Dependabot stores. The EspDinIoT entry adds KICADLIBRARY_READ_TOKEN as a repository-scoped secret.

Changes: Secret-store requirements

Layer / File(s) Summary
Resolve required secrets in both stores
spec/secret_names.py, tests/test_resolve_secrets.py, spec/validate.py, registry/repos.schema.json, spec/secrets.json, AUDIT.md, STANDUP.md, repo-config/README.md, spec/project-types.json, spec/resolve_secrets.py, registry/repos.json
The resolver adds registry requiredSecrets to both stores. The test expects NUGET_USERNAME in Actions and Dependabot. Related guidance and comments describe the store requirements. The Blog drift note refers to repository secrets stores.
Register the KiCadLibrary token
registry/repos.json, spec/secrets.json, repo-config/README.md
The EspDinIoT entry and secret scope declare KICADLIBRARY_READ_TOKEN as a repository secret. The configuration guide adds its repository-specific secret file.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • ptr727/ProjectTemplate#3943: Changes how compare_stores checks each store against its required names; this PR changes the required names assigned to each store.
  • ptr727/ProjectTemplate#3944: Promotes the per-store compare_stores behavior and is affected by the changed required sets.
  • ptr727/ProjectTemplate#3937: Uses the shared resolver to provision required secret names; this PR changes which stores the resolver returns those names for.
Merge Risk: Minimal · up to c6496

Required secrets are planned for both stores. No concrete merge-blocking risk was identified.

Pre-merge checks: Passed 5

Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly summarizes the main change: registry required secrets are now owed in both stores.
Docstring Coverage Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 1 functions across 4 files. (7 skipped: 7 unsupported.)

Finishing Touches

Generate docstrings

  • Commit to this branch
  • Create a new PR
Generate unit tests (beta)

  • Commit to this branch
  • Create a new PR
  • 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

Recent review info

Run configuration

Commits

Reviewing files that changed from the base of the PR and between 718e08e and c6496a1.

Files selected for processing: 11

  • AUDIT.md
  • STANDUP.md
  • registry/repos.json
  • registry/repos.schema.json
  • repo-config/README.md
  • spec/project-types.json
  • spec/resolve_secrets.py
  • spec/secret_names.py
  • spec/secrets.json
  • spec/validate.py
  • tests/test_resolve_secrets.py

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

@ptr727

ptr727 commented Nov 10, 2026

Copy link
Copy Markdown
Owner Author

A recorded local strict-review pass covers head c6496a1904592dc7044aa39f8b9401c38b6cbc38, the content this pull request carries at that commit against develop, and it recorded 2 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 remain, with the registry secret-resolution changes and related specifications, documentation, and tests updated consistently.

No open issues 🎉

What changed in this PR

This pull request updates registry requiredSecrets resolution so names are required in both the Actions and Dependabot stores, adds EspDinIoT's repository-scoped KiCadLibrary token, and synchronizes the related specifications, documentation, validation guidance, and tests.

Changes:

  • Resolve registry-required secrets in both supported stores and update test coverage.
  • Add KICADLIBRARY_READ_TOKEN with repository scope and declare it for EspDinIoT.
  • Update audit, setup, resolver, schema, project-type, and registry documentation.
File Description
tests/​test_resolve_secrets.py Verifies that registry-required secret names are owed in both stores.
STANDUP.md Documents secret placement across the Actions and Dependabot stores.
spec/​validate.py Updates validation comments for multi-store required-secret resolution.
spec/​secrets.json Adds the KiCadLibrary token scope and documents its both-store placement.
spec/​secret_names.py Resolves registry-required secret names into both supported stores.
spec/​resolve_secrets.py Clarifies the resolver documentation for tree-based Codecov detection.
spec/​project-types.json Updates the Hugo secret-resolution guidance.
repo-config/​README.md Documents the new secret and both-store provisioning behavior.
registry/​repos.schema.json Updates the schema guidance for registry-required secrets.
registry/​repos.json Declares EspDinIoT's KiCadLibrary token and records its remaining drift.
AUDIT.md Documents both-store handling for registry-required secrets.

Review effort: Lite

@codecov

codecov Bot commented Nov 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.76%. Comparing base (718e08e) to head (c6496a1).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #4025   +/-   ##
========================================
  Coverage    78.76%   78.76%           
========================================
  Files           37       37           
  Lines        12679    12680    +1     
========================================
+ Hits          9987     9988    +1     
  Misses        2692     2692           
Flag Coverage Δ
python-3.13 78.76% <100.00%> (+<0.01%) ⬆️

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 commented Nov 10, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@ptr727

ptr727 commented Nov 10, 2026

Copy link
Copy Markdown
Owner Author

/review

@coderabbitai

coderabbitai Bot commented Nov 10, 2026 •

Copy link
Copy Markdown
Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@ptr727
ptr727 merged commit 4670daa into develop Nov 10, 2026
14 checks passed
@ptr727
ptr727 deleted the feature/3936-secrets-both-stores branch November 10, 2026 05:37
ptr727 added a commit that referenced this pull request Nov 10, 2026
## Summary

Promotes #4025 to `main`.

- **Registry required secrets claim both stores (#4025).** A registry
`requiredSecrets` name is now owed in the Actions and the Dependabot
store, as a baseline name is, since a run a Dependabot pull request
triggers reads the Dependabot store alone. `configure.sh apply` writes
both copies through the shared resolver. Every other registry
`requiredSecrets` name was already owed in both stores through a
mechanism, so a fleet-wide before/after audit shows no repository
gaining a finding.
- **EspDinIoT declares `KICADLIBRARY_READ_TOKEN`** (repository scope),
clearing its two DRIFT findings. Its planned source release, `python`
type, and `CODECOV_TOKEN` stay out of the entry until they exist, per
STANDUP.md section 2, and a driftNote records them for its resync.

## Review

- #4025 merged with three recorded local passes, an attested head, all
13 checks green, a clean CodeRabbit round, and the hosted round
recommending approval with no findings.

## After the merge

- EspDinIoT's `CODECOV_TOKEN` stays reported as unclaimed in both stores
until its resync declares the `python` type with tests, which its
driftNote records.

Closes #3936

🤖 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

comments Permits the comment lines the pull request adds or edits, which the prose gate otherwise refuses

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants