Skip to content

fix: recognize compiled-language build steps as type-check gates (#473)#483

Open
aviavraham wants to merge 1 commit into
ambient-code:mainfrom
aviavraham:473-go-build-typecheck-gate
Open

fix: recognize compiled-language build steps as type-check gates (#473)#483
aviavraham wants to merge 1 commit into
ambient-code:mainfrom
aviavraham:473-go-build-typecheck-gate

Conversation

@aviavraham
Copy link
Copy Markdown
Contributor

@aviavraham aviavraham commented May 29, 2026

Go and Rust compilers are the type checker, go build, make build, and cargo build now satisfy the type-check gate in CIQualityGatesAssessor. Also recognize golangci-lint (bundles type-checking linters) and cargo clippy as a lint gate.

Description

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Performance improvement
  • Test coverage improvement

Related Issues

Fixes #473
Relates to #

Changes Made

3 files changed, 120 insertions, 1 deletion:
src/agentready/assessors/testing.py

  • Added 4 new regex patterns to typecheck_patterns (line 1132): go build, $(GO) build, make build, golangci-lint, cargo build
  • Added cargo clippy to lint_patterns (line 1115)
    tests/unit/test_assessors_testing.py
    • 4 new tests in TestCIQualityGatesAssessor:
      • test_go_build_detected_as_typecheck — go build satisfies type-check gate
      • test_make_build_detected_as_typecheck — make build satisfies type-check gate
      • test_golangci_lint_detected_as_typecheck — golangci-lint satisfies both lint and type-check gates
      • test_cargo_build_detected_as_typecheck — cargo build satisfies type-check gate

docs/attributes.md

  • Updated CI Quality Gates "Quality gates present" criteria to document that compiled-language build steps count as type-check gates

Testing

Manual verification complete. The full testing checklist for #473:

  • Unit tests: 61 passed (4 new)
  • Integration tests: 50 passed, 4 skipped
  • Manual scan against reported repo (multi-platform-controller): ci_quality_gates = pass 90/100, type-check gate detected
  • Unit tests pass (pytest)
  • Integration tests pass
  • Manual testing performed
  • No new warnings or errors

Checklist

  • My code follows the project's code style
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published

Screenshots (if applicable)

Additional Notes

Summary by CodeRabbit

Documentation

  • Updated CI Quality Gates attribute documentation to clarify type-check gate detection criteria for compiled languages.

Bug Fixes

  • Improved CI quality gate detection to recognize additional build commands and linters (go build, make build, cargo build, golangci-lint, cargo clippy) as valid type-check gates.

…ient-code#473)

Go and Rust compilers are the type checker — go build, make build, and
cargo build now satisfy the type-check gate in CIQualityGatesAssessor.
Also recognize golangci-lint (bundles type-checking linters) and
cargo clippy as a lint gate.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 29, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 2ddf72f7-8060-4fd9-992e-a0c6c6ddff10

📥 Commits

Reviewing files that changed from the base of the PR and between 333496d and bcb2419.

📒 Files selected for processing (3)
  • docs/attributes.md
  • src/agentready/assessors/testing.py
  • tests/unit/test_assessors_testing.py

📝 Walkthrough

Walkthrough

This PR fixes a bug where AgentReady incorrectly flagged compiled-language repositories (Go, Rust) as missing type-check gates. The fix recognizes that build steps and language-specific linters serve as type checkers in these languages, expanding detection patterns and adding test cases to validate the behavior.

Changes

Compiled Language Type-Check Gate Detection

Layer / File(s) Summary
Documentation of compiled-language type-check gates
docs/attributes.md
Clarifies that build steps (go build, cargo build, make build) satisfy the type-check gate for compiled languages, and that golangci-lint qualifies because it bundles type-checking linters.
Lint and type-check gate detection patterns
src/agentready/assessors/testing.py
Regex patterns in CIQualityGatesAssessor._assess_quality_gates expand to match cargo clippy for lint gates, and go build, make build, cargo build, and golangci-lint for type-check gates.
Compiled-language type-check gate test cases
tests/unit/test_assessors_testing.py
Four test cases verify that CIQualityGatesAssessor detects type-check gates in Go (go build), Makefile (make build), linter action (golangci-lint), and Rust (cargo build) workflows.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Title follows Conventional Commits format (fix: scope description #issue) and accurately summarizes the core change: enabling recognition of compiled-language build steps as type-check gates.
Linked Issues check ✅ Passed Changes directly address issue #473 by expanding typecheck_patterns to recognize go build, make build, cargo build, golangci-lint, and cargo clippy—enabling proper type-check gate detection for compiled languages.
Out of Scope Changes check ✅ Passed All changes are tightly scoped to detecting compiled-language build steps and linters as CI quality gates; no unrelated modifications present.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
✨ Simplify code
  • Create PR with simplified code

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 and usage tips.

@github-actions
Copy link
Copy Markdown
Contributor

📈 Test Coverage Report

Branch Coverage
This PR 73.2%
Main 73.2%
Diff ✅ +0%

Coverage calculated from unit tests only

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.

[BUG] Type-check expected in CI quality gates for Go repository

1 participant