chore: sync standards components - #78
Conversation
|
Claude finished @kyle-sexton's task in 37s —— View job PR Review
SummaryThis is an automated standards-sync PR removing one line from # Shell
[*.{sh,bash}]
indent_size = 2
-switch_case_indent = trueFinding: Correct removal of a non-standard property.
No issues found.
The Cursor approval is consistent with this assessment. This PR is safe to merge. |
45278a0 to
6261a21
Compare
The standards-synced .editorconfig no longer sets switch_case_indent for shell files, so shfmt's default (non-indented case branches) now governs. Reformat the two osv-scan-guard scripts to match; whitespace-only, no behavior change. Removes the local drift that previously required the switch_case_indent override.
|
Claude finished @kyle-sexton's task in 1m 31s —— View job PR Review
SummaryThis PR now contains three files changed across two commits:
|
| Check | Result |
|---|---|
| Logic correctness | ✅ Zero logic changes; diff is purely whitespace |
| EditorConfig compliance | ✅ Go section correct; non-standard property correctly removed |
| shfmt consistency | ✅ EditorConfig and code reformatting are complementary |
| Security | ✅ No concerns |
| CLAUDE.md SHA-pin / security rules | ✅ Not applicable (no uses: references changed) |
.github/workflows/ restriction |
✅ Scripts are under .github/scripts/, not .github/workflows/ |
The two Cursor approvals and prior review are consistent with this assessment. Safe to merge.
The scan-exit guard reindent in the prior commit desynced the generated copy embedded in osv-scanner.yml from its source (osv-scan-guard.sh), failing the render --check contract test. Regenerate the embedded SCAN and SARIF blocks via render-osv-scan-guard.cjs. No behavior change.
|
Claude finished @kyle-sexton's task in 1m 34s —— View job PR Review
SummaryThis PR now has three commits. The third commit (
|
| Check | Result |
|---|---|
| Logic correctness | ✅ Zero logic changes across all files; diff is purely formatting |
osv-scanner.yml sync (Cursor's selector-contract flag) |
✅ Resolved — regenerated in commit 3dbfd19 |
| EditorConfig compliance | ✅ Go section correct; non-standard switch_case_indent correctly removed |
shfmt / EditorConfig consistency |
✅ Formatter change and code reformatting are complementary |
| Security | ✅ No concerns |
| CLAUDE.md SHA-pin / security rules | ✅ Not applicable (no uses: references changed) |
Safe to merge.
## Summary #89 updated the immutable-pin fetch step in `ci.yml` but missed the identical step in `selector-conformance.yml`. On main-push runs the squashed PR branch commits are unreachable from a plain full-history checkout, so `git show 169e3a4` inside the pin tests fails — the post-merge `selector-conformance` run on main is red. PR runs passed because the PR merge ref still reached those commits, which hid the gap. One-line fix: fetch `169e3a4287211a536eddcd3a757dd06132fb556e` (the liveness canary/HA-proof implementation commit) instead of the two superseded pins. Part of melodic-software/github-iac#79, epic #78. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01EPDbXgonTuFwFwdTtHaCmw <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > CI workflow-only change to which git objects are fetched; no runtime, auth, or application logic. > > **Overview** > Aligns **`selector-conformance.yml`** with **`ci.yml`** by updating the **Fetch immutable workflow pins under test** step to shallow-fetch a single commit (`169e3a4…`) instead of two superseded SHAs. > > That commit is the current liveness canary / HA-proof implementation pin exercised by the immutable-pin tests. After squashed merges, those old commits are not reachable from a full-history checkout on **main**, so `git show` in the tests failed on post-merge runs even though PR runs still passed. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 061172d. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…repository (#96) ## Why Production deploys on melodic-software/github-iac fail closed at the deploy guard: `Pulumi personal-token allow policies do not exactly match the reviewed contract` (first failure: run 29372145481). Root cause: Epic #78 C4 deleted `kyle-sexton/github-iac` and reduced live Pulumi OIDC trust to exactly the one organization rule, while the bundled contract still required the deleted repo's policy. Exact-match guard = correct fail-closed behavior; the reviewed contract is what must move. ## What - `contracts/kyle-sexton-github-iac.json`: the single surviving `melodic-software/github-iac` policy (byte-identical rules to the prior org entry); replaces `kyle-sexton-github-iac-v2.json` — version markers dropped from the contract name, since the contract is a living exact-match document whose identity is the stack it guards - `guard.test.sh` + `pulumi-deploy-guard.test.cjs`: repointed to the unversioned contract; content test asserts the single-policy shape ## Verification - `guard.test.sh`: 22/22 PASS - `node --test pulumi-deploy-guard.test.cjs`: 5 pass / 0 fail ## Follow-up melodic-software/github-iac PR bumps its pinned guard SHA + `policy-contract: kyle-sexton-github-iac`, unblocking the dotfiles-enrollment deploy (#109 merged but unapplied). 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01JLfjHY8PY6ozhgZPiuHKik --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>


Automated exact-file synchronization from
melodic-software/standards@4f65231cb0e77717ae6179375eebfc250ddde7bb(requested refmain).Managed component mappings applied to
melodic-software/ci-workflows:components/comment-hygiene/comment-hygiene-patterns.sh→.github/actions/comment-hygiene/comment-hygiene-patterns.sh(mode100644).editorconfig-checker.json→.editorconfig-checker.json(mode100644).gitleaks.toml→.gitleaks.toml(mode100644)lychee.toml→lychee.toml(mode100644).markdownlint-cli2.jsonc→.markdownlint-cli2.jsonc(mode100644)PSScriptAnalyzerSettings.psd1→PSScriptAnalyzerSettings.psd1(mode100644).editorconfig→.editorconfig(mode100644).gitattributes→.gitattributes(mode100644).shellcheckrc→.shellcheckrc(mode100644)_typos.toml→_typos.toml(mode100644)Review and merge this PR normally. Do not hand-edit these managed files downstream; change their standards source instead.