code-yeongyu/go-claude-code-comment-checker
Multi-language comment detection hook for Claude Code. 100% vibe coded by Claude Opus 4.5.
- Repository: https://github.com/code-yeongyu/go-claude-code-comment-checker
- Commit:
311565fc9380579449ae34a8ab4c2cd386da840c - Generated: 2026-11-13T23:58:52+00:00
- Scorer 0.1.0, scoring prov-4+qual-2+sec-2, report schema v2
Scores
| Pillar | Score | Signal | Confidence | Coverage |
|---|---|---|---|---|
| AI provenance (estimated AI-generated share) | 0 | possible | 54% | 100% |
| Code quality | 74 | adequate | 90% | 100% |
| Security | 62 | weak | 85% | 100% |
AI provenance
Weak signals consistent with AI-assisted development.
-
Explicitly attributed share (lower bound): 0.0%
-
Unattributed share in AI-consistent velocity bursts: 34.9%
-
Estimated AI-generated share: 0.0%
-
AI tooling configured in repo: generic-agent
-
Stylometry index: 0.65 per 1,000 lines (narrated steps 0, placeholders 0, assistant phrasing 0, emoji 4). Reported as a signal, not scored.
| Month | Lines added | Attributed to AI |
|---|---|---|
| 2025-11 | 2,259 | 0% |
| 2025-12 | 906 | 0% |
| 2026-05 | 3,220 | 0% |
| 2026-09 | 471 | 0% |
Evidence
- AGENTS.md (generic-agent configuration) (AGENTS.md)
- 2,396 lines of first-party code in ~4.0h (598 lines/hour, 2 commit session) (b3640433b08b)
AI provenance describes how code was produced; it is not a quality judgment. Unless attribution is explicit, these are signals consistent with AI generation, not proof. Squash/rebase workflows, imported code, and rewritten history reduce accuracy.
Code quality
Code quality is adequate: test-to-source ratio 1.02, CI runs tests; 24% of function code in complex or long functions; 7% duplicated lines. Weakest area: complexity.
| Area | Score |
|---|---|
| Complexity (lizard) | 49 |
| Duplication | 67 |
| Code smells (Opengrep) | 80 |
| Tests and CI | 100 |
| Documentation | 65 |
| Type safety | n/a |
| Process (Scorecard review/maintenance) | n/a |
- Functions: 114; mean complexity 3.8, 90th percentile 8; 5 complex and 1 long functions
- Duplicated lines: 6.6% of 2,189 compared
- Tests: 3,115 test lines for 3,059 source lines (ratio 1.02); CI test commands: go test, cargo test; 59% of recent source commits also change tests
- Docs missing or thin: contributing, changelog
Most complex functions:
- GetLanguage in go/pkg/core/language_registry.go: complexity 32, 68 lines
- language_name_for_alias in src/language.rs: complexity 32, 37 lines
- is_english_agent_memo in src/filters.rs: complexity 30, 65 lines
- install in npm/comment-checker/postinstall.js: complexity 23, 54 lines
- run in go/cmd/comment-checker/main.go: complexity 16, 91 lines
Security
Security posture is weak: 27 known vulnerabilities in 12 dependencies; 31 high-severity workflow issues. Weakest area: posture.
| Area | Score |
|---|---|
| Secrets (gitleaks, tree + history) | 100 |
| Static analysis (Opengrep) | 100 |
| Vulnerable dependencies (OSV) | 55 |
| CI workflows (zizmor) | 0 |
| Posture (policy, updates, signing, lockfiles) | 0 |
| OpenSSF Scorecard | n/a |
-
Known vulnerabilities: 27 in 12 packages (critical 0, high 0, medium 3, low 2)
-
Posture checks passed: none; missing: security policy, dependency updates, signed commits, lockfiles
Top findings
| Severity | Finding | Location |
|---|---|---|
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/ci.yml:17 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/ci.yml:25 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/ci.yml:55 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/ci.yml:79 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/ci.yml:82 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/macos-signing-canary.yml:23 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/macos-signing-canary.yml:54 |
| high | zizmor/excessive-permissions: overly broad permissions [confidence high] |
.github/workflows/release.yml:9 |
| high | zizmor/excessive-permissions: overly broad permissions [confidence high] |
.github/workflows/release.yml:10 |
| high | zizmor/template-injection: code injection via template expansion [confidence high] |
.github/workflows/release.yml:132 |
| high | zizmor/template-injection: code injection via template expansion [confidence high] |
.github/workflows/release.yml:143 |
| high | zizmor/template-injection: code injection via template expansion [confidence high] |
.github/workflows/release.yml:228 |
| high | zizmor/template-injection: code injection via template expansion [confidence high] |
.github/workflows/release.yml:229 |
| high | zizmor/template-injection: code injection via template expansion [confidence high] |
.github/workflows/release.yml:237 |
| high | zizmor/template-injection: code injection via template expansion [confidence high] |
.github/workflows/release.yml:311 |
| high | zizmor/template-injection: code injection via template expansion [confidence high] |
.github/workflows/release.yml:316 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/release.yml:20 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/release.yml:33 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/release.yml:104 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/release.yml:150 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/release.yml:159 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/release.yml:162 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/release.yml:173 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/release.yml:211 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/release.yml:214 |
Static signals only: the scorer never runs the project's code. Secret findings are pattern matches that were not verified, and secret values are never stored.
Distribution signals
- binary-release-asset: release v0.8.2 ships comment-checker_v0.8.2_darwin_amd64.tar.gz (10 downloads)
- binary-release-asset: release v0.8.2 ships comment-checker_v0.8.2_darwin_arm64.tar.gz (649 downloads)
- binary-release-asset: release v0.8.2 ships comment-checker_v0.8.2_linux_amd64.tar.gz (10105 downloads)
- binary-release-asset: release v0.8.2 ships comment-checker_v0.8.2_linux_arm64.tar.gz (929 downloads)
- binary-release-asset: release v0.8.2 ships comment-checker_v0.8.2_windows_amd64.zip (2445 downloads)
- readme-download-lure: gives an archive password
Signals consistent with a repository that exists to distribute a download. They are heuristics, not a verdict; release files were not downloaded or inspected.
Repository profile
- Source lines: 3,059; test lines: 3,115
| Language | Lines |
|---|---|
| Go | 2,782 |
| Rust | 2,366 |
| JavaScript | 771 |
| Shell | 255 |