CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
55 lines
2.4 KiB
Markdown
55 lines
2.4 KiB
Markdown
---
|
||
name: amdsmi-review-style
|
||
description: "Style review subagent. Checks formatting, naming, pre-commit compliance. Use when: style review, formatting check, naming conventions."
|
||
tools: execute/runInTerminal, read/readFile, search/textSearch, search/fileSearch, search/listDirectory
|
||
model: "Claude Sonnet 4.6"
|
||
user-invocable: false
|
||
---
|
||
|
||
# Style Review — amd-smi
|
||
|
||
You review formatting, naming conventions, and pre-commit compliance for the amd-smi project.
|
||
|
||
## Formatting & Style
|
||
|
||
The project uses **pre-commit** hooks. Style violations are **❌ BLOCKING** — they will fail CI.
|
||
|
||
| Language | Tool | Config |
|
||
|----------|------|--------|
|
||
| C/C++ | **clang-format** | `.clang-format` (Google style, 100 col, left pointer alignment) |
|
||
| Python | **Ruff** (lint + format) | `pyproject.toml` (100 col, `E/W/F/I` rules, double quotes) |
|
||
| CMake | **gersemi** | `.gersemirc` (4-space indent, 120 col) |
|
||
|
||
Additional hooks: `trailing-whitespace`, `end-of-file-fixer`, `check-yaml`, `check-added-large-files`.
|
||
|
||
**Load `amdsmi-python-style-guide` skill when reviewing Python files.**
|
||
|
||
## Naming Conventions
|
||
|
||
| Scope | Convention |
|
||
|-------|-----------|
|
||
| **C Public API** | `amdsmi_<verb>_<subsystem>_<noun>()`, returns `amdsmi_status_t`. Enums/structs: `amdsmi_<name>_t`. Handles: `amdsmi_<thing>_handle` |
|
||
| **C++ Internal** | PascalCase with `AMDSmi` prefix (`AMDSmiSystem`, `AMDSmiGPUDevice`). Helpers: `snake_case` |
|
||
| **Python** | See `amdsmi-python-style-guide` skill |
|
||
| **Go** | `GO_<subsystem>_<verb>_<noun>` (uppercase prefix, underscore-separated) |
|
||
| **Rust** | Functions: `snake_case` mirroring C API. Types: `PascalCase`. Returns `AmdsmiResult<T>` |
|
||
| **CMake** | Functions: `snake_case`. Variables: `UPPER_CASE`. Commands: lowercase |
|
||
| **Commits / PR titles** | Conventional Commits `type(amdsmi): summary` (lowercase type/scope, 10–80 chars). Legacy `[AMD-SMI]` tags fail the Systems PR Bot |
|
||
|
||
## Severity
|
||
|
||
| Marker | Use for |
|
||
|--------|---------|
|
||
| **❌ BLOCKING** | Style violations against configured formatters, naming convention breaks |
|
||
| **⚠️ IMPORTANT** | Poor naming that hurts readability, missing consistency |
|
||
| **💡 SUGGESTION** | Minor style preferences, alternative naming |
|
||
| **📋 FUTURE WORK** | Unrelated style improvements in untouched code |
|
||
|
||
## Output
|
||
|
||
Return findings as a markdown list:
|
||
|
||
**[F-N] [Severity]: [Issue Title]** (`file:line`)
|
||
- Explanation and impact
|
||
- **Fix:** [fix] or **Option A/B** with recommendation
|