chore(trust): gate public claims on current main - #44
Conversation
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
📝 WalkthroughWalkthroughThis change adds a repository-wide public-surface verifier, updates metadata and documentation to measured claims, makes MCP paths portable, and integrates verification, shell syntax checks, and blocking typechecks into CI workflows. ChangesPublic Surface Verification
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant CI
participant VerifyPublicSurface
participant Repository
participant InstallScript
participant TemporaryClaudeHome
CI->>VerifyPublicSurface: run npm run verify:public-surface
VerifyPublicSurface->>Repository: measure assets and validate claims
VerifyPublicSurface->>InstallScript: run minimal Claude installation
InstallScript->>TemporaryClaudeHome: install generated files
VerifyPublicSurface->>TemporaryClaudeHome: compare counts and required state
VerifyPublicSurface-->>CI: return success report or failure
Possibly related PRs
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 5
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/acos-health-check.yml:
- Around line 6-23: Update the pull_request paths filter in the health-check
workflow to include .claude-plugin/marketplace.json, ensuring marketplace
manifest-only changes trigger the health gate while preserving the existing
paths.
In `@QUICKSTART.md`:
- Around line 20-23: Update the installation inspection command in QUICKSTART.md
lines 20-23 and README.md lines 55-59 to remove the max-depth restriction, using
find on the full CLAUDE_HOME tree so all installed files, including skills and
hooks, are listed.
In `@scripts/verify-public-surface.mjs`:
- Around line 179-190: Update the root license filename filter in
verifyLicenseTruth to recognize hyphenated license stems such as LICENSE-MIT,
while retaining case-insensitive matching and support for existing suffix
formats. Keep the subsequent canonical metadata assertions unchanged.
- Around line 211-214: Update verifyPortablePublicConfig to inspect every local
MCP entrypoint in canonical.opencode rather than only matching home-directory
paths. Parse the MCP configuration and assert each local entrypoint is relative
or uses an explicitly portable form, rejecting all absolute filesystem paths
including locations such as /opt.
- Around line 143-168: Extend the verification around requiredReadmeClaims and
the canonical plugin stats checks to validate every published metric variant,
including the corresponding counts in CLAUDE.md and QUICKSTART.md and each entry
in plugin.json stats.verifiedBy. Define one canonical expected-value map and
derive all assertions from it so README, documentation claims, plugin stats, and
verification metadata cannot drift independently.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 10575d6e-02fe-43e8-b464-e4e8f5413a15
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (10)
.claude-plugin/plugin.json.github/workflows/acos-health-check.yml.github/workflows/ci.ymlCLAUDE.mdCONTRIBUTING.mdQUICKSTART.mdREADME.mdopencode.jsonpackage.jsonscripts/verify-public-surface.mjs
|
@coderabbitai review All five findings from review |
|
✅ Action performedReview finished.
|
Outcome
Makes the current
mainbranch honest and independently checkable without absorbing the 1,040-file v12 reset in #32.What changes
SKILL.mdpaths honestly as 171 non-empty modules plus 5 named empty placeholders;npm run verify:public-surface, including an isolated Claude install smoke test and an exact allowlist for the 5 empty placeholders;.claude-plugin/marketplace.jsonis absent;Exact source
4be8e3828dd7a3c83c325cf40325ad22028336f1659921d46a13fb2b471d32c03a28d6cbd2b0379eb3cddeb289f9230c59783972637a225350bca4e4Local verification
node scripts/verify-public-surface.mjs— pass, isolated install includednpm run lint— 0 errors / 0 warningsnpm run observatory:test— 6/6 passnpm run build:all— 7/7 workspace builds passnpm run typecheck:all— 7/7 workspace typechecks passbash -nbash -n install.sh— passgit diff --check— passExact-head cloud verification
30148558952— success30148558944— success4778720641were addressed; exact-head re-review is temporarily rate-limitedDeliberate boundaries
This draft does not create or choose a license, add a marketplace manifest, publish a package or release, change secrets or repository settings, merge, or absorb #32 wholesale.
Named-owner decisions still required:
Summary by CodeRabbit
New Features
Documentation
Bug Fixes