Skip to content

ci(standards): promote profile and Greptile workflows to main - #17

Merged
scttbnsn merged 13 commits into
mainfrom
dev/repository-standards
Aug 15, 2026
Merged

ci(standards): promote profile and Greptile workflows to main#17
scttbnsn merged 13 commits into
mainfrom
dev/repository-standards

Conversation

@scttbnsn

@scttbnsn scttbnsn commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Frozen promotion identity

  • target main: 34ece202d67b96c201cecb8428343da95795961c
  • target tree: 67c51b3a4e4c419111ce23a5de43640e79b0295f
  • reviewed dev source: 55c58e856c5f2a680b8e616158b76328831fad76
  • reviewed dev tree: c83af5d5d08226ce02e2a672677cae05e087eb04
  • reconciliation: e30a84ddabb446cda572b6c890802119bc9d6591
  • reconciliation parents: [55c58e856c5f2a680b8e616158b76328831fad76, 34ece202d67b96c201cecb8428343da95795961c]
  • reconciliation tree: c83af5d5d08226ce02e2a672677cae05e087eb04
  • empty first-parent patch SHA-256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  • 10-file promotion patch: +355/-88, SHA-256 8afaa0f57a42cab0737390e832310bf41a90a456ec3093626a50032b396fb025

Reviewed ledger

  • ci(profile): make asset generation read-only #10: reviewed 0e9e65d29e29bf8fd0b55d9ca67700345e827784, dev squash 7be30f375a4303edd1f135e919d02b9ac3cfe875, tree 4b0b4f6e89606691101bde5c28a0d2ea5627f13d, patch SHA-256 89a00b34940cafa2a8b3c6d813923918458884e890182a094da4a54de3097945
  • ci(review): add deduplicated Greptile summon #9: reviewed 69263f5c44677b2ee418de8959fb12c3de121e10, dev squash 55c58e856c5f2a680b8e616158b76328831fad76, tree c83af5d5d08226ce02e2a672677cae05e087eb04, patch SHA-256 1a4a89b47c5887be6df09eb57a62caa25d46a5a23ad8fe57a21c53b0f68a927a

Verification

  • all 62 repository contract tests
  • deterministic profile asset regeneration with clean diff/status
  • Python compile, YAML/JSON parse, Markdown, actionlint, Zizmor, and diff checks
  • exact topology, parent order, tree equality, empty first-parent diff, and 10-file GitHub comparison

Greptile is skipped under the explicit exhausted-credit decision. Fresh exact-head CodeRabbit review, CI, and non-author approval remain required.

Related to #5. Its literal stats-generation and push-preservation requirement remains open.

Summary by CodeRabbit

  • New Features

    • Added a reusable workflow to request automated pull request reviews with validated inputs and duplicate-comment protection.
    • Added automated validation for generated profile assets.
  • Bug Fixes

    • Improved workflow security with read-only permissions, pinned actions, bounded execution, and hardened runners.
    • Ensured generated profile assets are reproducible and stored in the correct location.
  • Chores

    • Removed automated statistics generation, cached data, and obsolete workflow files.
    • Added workflow concurrency controls and expanded standards validation.

Adds organization-wide community health defaults, validation, ownership, contribution guidance, security policy, and hardened workflow checks.
* ci(workflows): add reusable CI foundation

* fix(workflows): harden reusable release contracts
* feat(quality): add normalized reporting foundation

* test(quality): run reporting contracts in standards validation

* fix(quality): align report validator with schema

* test(quality): verify GitHub integration outputs
* ci(profile): make asset generation read-only

* fix(profile): restrict asset validation egress
* ci(review): add deduplicated Greptile summon

* fix(review): serialize exact-head Greptile summons

* test(review): lock Greptile security controls
@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: a5463268-c178-4941-b674-5da8c0834d44

📥 Commits

Reviewing files that changed from the base of the PR and between 34ece20 and e30a84d.

📒 Files selected for processing (10)
  • .github/tests/community_health_contract_test.py
  • .github/tests/greptile_summon_contract_test.py
  • .github/workflows/greptile-summon.yml
  • .github/workflows/profile-assets.yml
  • .github/workflows/standards-validation.yml
  • .github/workflows/update-stats.yml
  • .gitignore
  • cache/.gitignore
  • cache/stats.json
  • scripts/generate_profile_svg.py
💤 Files with no reviewable changes (3)
  • cache/.gitignore
  • cache/stats.json
  • .github/workflows/update-stats.yml

📝 Walkthrough

Walkthrough

The PR makes profile asset generation deterministic and read-only, removes push-based statistics updates, adds a hardened reusable Greptile summon workflow, and expands standards contract tests for workflow security and configuration.

Changes

Profile asset validation

Layer / File(s) Summary
Deterministic generation and validation
.github/tests/community_health_contract_test.py, .github/workflows/profile-assets.yml, scripts/generate_profile_svg.py, .gitignore
The generator writes assets under the repository root. Profile validation checks deterministic output, pinned actions, hardened networking, read-only permissions, bounded execution, and clean output.
Removal of automated statistics updates
.github/workflows/update-stats.yml, cache/.gitignore, cache/stats.json
The push-based statistics workflow and cached statistics files are removed.

Greptile summon workflow

Layer / File(s) Summary
Reusable workflow and contract tests
.github/workflows/greptile-summon.yml, .github/tests/greptile_summon_contract_test.py
The workflow validates inputs and the exact pull request head SHA, prevents duplicate comments, and posts a marked Greptile review comment. Contract tests validate its security and configuration rules.

Standards validation

Layer / File(s) Summary
Workflow controls and registration
.github/workflows/standards-validation.yml, .github/tests/community_health_contract_test.py
Standards validation adds concurrency requirements, documents permissions, and runs the Greptile contract suite.

Estimated code review effort: 4 (Complex) | ~45 minutes

Merge Risk: ⚪ Minimal · up to e30a8

This PR promotes the reviewed workflows and reconciles branch ancestry without changing the reviewed development tree; no actionable merge-blocking risk remains after normal checks and review.

Sequence Diagram(s)

sequenceDiagram
  participant GitHubActions
  participant GitHubScript
  participant GitHubAPI
  GitHubActions->>GitHubScript: Validate pull request inputs
  GitHubScript->>GitHubAPI: Check open state and exact head SHA
  GitHubAPI-->>GitHubScript: Return pull request state
  GitHubScript->>GitHubAPI: Check existing Greptile marker
  GitHubAPI-->>GitHubScript: Return matching comments
  GitHubScript->>GitHubAPI: Create marked review comment
Loading

Possibly related PRs

  • CodesWhat/.github#7: Updates the same community-health contract tests and standards workflow.
  • CodesWhat/.github#9: Adds related Greptile workflow configuration and contract-test registration.
  • CodesWhat/.github#10: Modifies the same profile asset workflows, generator, cache, and contract tests.

Suggested reviewers: biggest-littlest, alargecompany

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 7.14% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
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: promoting the profile asset and Greptile workflows into the main branch standards.
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.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev/repository-standards

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

Comment @coderabbitai help to get the list of available commands.

@biggest-littlest

Copy link
Copy Markdown
Member

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 15, 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.

@scttbnsn

Copy link
Copy Markdown
Contributor Author

Dispositioning the review-body docstring-coverage warning as non-actionable. This promotion adds no public Python API or new helper shape: the generator change is a rename with path adjustments, and the executable contract tests follow the repository convention of descriptive test names. Blanket docstrings would not change behavior and would expand the reviewed #9/#10 scope.

@biggest-littlest biggest-littlest left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved on exact head e30a84d after green CI and completed exact-range CodeRabbit review.

@scttbnsn
scttbnsn merged commit 01bf40b into main Aug 15, 2026
5 checks passed
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