Skip to content

Conversation

@vim-zz
Copy link
Collaborator

@vim-zz vim-zz commented Nov 10, 2025

Add comprehensive documentation for the AI adoption tracking automation that detects and labels PRs involving 40+ AI tools through rules files, commit co-authors, and PR authors. Includes the full automation manifest with patterns for detection and labeling.

image

✨ PR Description

Purpose: Add automation documentation and configuration for tracking AI tool usage in development workflows with label-based analytics.
Main changes:
- Created detailed documentation on AI adoption tracking with support for 40+ tools and 3 detection methods
- Added configuration file with regex patterns to identify AI tools through rules files, co-authors, and PR authors
- Implemented automated labeling system with specific AI tool detection and explanatory comments

Generated by LinearB AI and added by gitStream.
AI-generated content may contain inaccuracies. Please verify before using.
💡 Tip: You can customize your AI Description using Guidelines Learn how

Add comprehensive documentation for the AI adoption tracking automation
that detects and labels PRs involving 40+ AI tools through rules files,
commit co-authors, and PR authors. Includes the full automation manifest
with patterns for detection and labeling.
Copy link

@orca-security-us orca-security-us bot left a comment

Choose a reason for hiding this comment

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

Orca Security Scan Summary

Status Check Issues by priority
Passed Passed Infrastructure as Code high 0   medium 0   low 0   info 0 View in Orca
Passed Passed SAST high 0   medium 0   low 0   info 0 View in Orca
Passed Passed Secrets high 0   medium 0   low 0   info 0 View in Orca
Passed Passed Vulnerabilities high 0   medium 0   low 0   info 0 View in Orca

Copy link
Contributor

@gitstream-cm gitstream-cm bot left a comment

Choose a reason for hiding this comment

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

✨ PR Review

The PR adds comprehensive AI adoption tracking automation with extensive tool detection patterns. The implementation covers 40+ AI tools with multiple detection methods, but contains some maintainability and accuracy concerns in the automation configuration.

3 issues detected:

🧹 Maintainability - Single line contains 89 boolean conditions making it unreadable and unmaintainable 🛠️

Details: The any_ai_detected configuration expression spans an extremely long single line with dozens of OR conditions, making it very difficult to read, debug, and maintain. This complex boolean logic should be broken down into smaller, more manageable chunks.
File: docs/downloads/automation-library/ai_adoption_tracking.cm (88-89)
🛠️ A suggested code correction is included in the review comments.

🐞 Bug - Generic `.rules` pattern may match unintended files causing false positives 🛠️

Details: The Zed rules detection pattern /(^|.*\/)\.rules$/ is too generic and may match files that are not actually Zed configuration files, potentially causing false positive AI adoption detection for unrelated .rules files.
File: docs/downloads/automation-library/ai_adoption_tracking.cm (33-33)
🛠️ A suggested code correction is included in the review comments.

🧹 Maintainability - Placeholder tool configuration may cause confusion in production use 🛠️

Details: The customtool entries appear to be placeholder examples rather than a real AI tool. Having placeholder/example tool configurations in production automation could lead to confusion or unintended behavior.
File: docs/downloads/automation-library/ai_adoption_tracking.cm (21-21)
🛠️ A suggested code correction is included in the review comments.

Generated by LinearB AI and added by gitStream.
AI-generated content may contain inaccuracies. Please verify before using.
💡 Tip: You can customize your AI Review using Guidelines Learn how

Comment on lines +88 to +89
# General AI detection - true if ANY AI tool/method is detected
any_ai_detected: {{ has_aider_rules or has_amazonq_rules or has_augmentcode_rules or has_claude_rules or has_cursor_rules or has_customtool_rules or has_firebase_rules or has_gemini_rules or has_github_copilot_rules or has_goose_rules or has_jetbrains_junie_rules or has_kilocode_rules or has_kiro_rules or has_openai_rules or has_openhands_rules or has_warp_rules or has_windsurf_rules or has_zed_rules or has_aider_coauthor or has_aikido_coauthor or has_amazonq_coauthor or has_atlassian_coauthor or has_bito_coauthor or has_claude_coauthor or has_codeant_coauthor or has_codegen_coauthor or has_coderabbit_coauthor or has_codota_coauthor or has_cubic_coauthor or has_cursor_coauthor or has_devin_coauthor or has_ellipsis_coauthor or has_factory_coauthor or has_fine_coauthor or has_gemini_coauthor or has_github_copilot_coauthor or has_gitlab_duo_coauthor or has_gitstream_coauthor or has_google_jules_coauthor or has_graphite_coauthor or has_greptile_coauthor or has_jazzberry_coauthor or has_jetbrains_junie_coauthor or has_korbit_coauthor or has_meticulous_coauthor or has_openai_coauthor or has_opencode_coauthor or has_qodo_coauthor or has_replit_coauthor or has_rovo_coauthor or has_sourcegraph_coauthor or has_sourcery_coauthor or has_sweep_coauthor or has_tabnine_coauthor or has_tusk_coauthor or has_whatthediff_coauthor or has_windsurf_coauthor or is_claude_author or is_coderabbit_author or is_cursor_author or is_devin_author or is_fine_author or is_gemini_author or is_github_copilot_author or is_gitstream_author or is_greptile_author or is_qodo_author }}
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Maintainability - Extremely Long Expression: Break the any_ai_detected expression into logical groups (rules_detected, coauthor_detected, author_detected) and combine them, or use YAML multiline syntax to improve readability.

Suggested change
# General AI detection - true if ANY AI tool/method is detected
any_ai_detected: {{ has_aider_rules or has_amazonq_rules or has_augmentcode_rules or has_claude_rules or has_cursor_rules or has_customtool_rules or has_firebase_rules or has_gemini_rules or has_github_copilot_rules or has_goose_rules or has_jetbrains_junie_rules or has_kilocode_rules or has_kiro_rules or has_openai_rules or has_openhands_rules or has_warp_rules or has_windsurf_rules or has_zed_rules or has_aider_coauthor or has_aikido_coauthor or has_amazonq_coauthor or has_atlassian_coauthor or has_bito_coauthor or has_claude_coauthor or has_codeant_coauthor or has_codegen_coauthor or has_coderabbit_coauthor or has_codota_coauthor or has_cubic_coauthor or has_cursor_coauthor or has_devin_coauthor or has_ellipsis_coauthor or has_factory_coauthor or has_fine_coauthor or has_gemini_coauthor or has_github_copilot_coauthor or has_gitlab_duo_coauthor or has_gitstream_coauthor or has_google_jules_coauthor or has_graphite_coauthor or has_greptile_coauthor or has_jazzberry_coauthor or has_jetbrains_junie_coauthor or has_korbit_coauthor or has_meticulous_coauthor or has_openai_coauthor or has_opencode_coauthor or has_qodo_coauthor or has_replit_coauthor or has_rovo_coauthor or has_sourcegraph_coauthor or has_sourcery_coauthor or has_sweep_coauthor or has_tabnine_coauthor or has_tusk_coauthor or has_whatthediff_coauthor or has_windsurf_coauthor or is_claude_author or is_coderabbit_author or is_cursor_author or is_devin_author or is_fine_author or is_gemini_author or is_github_copilot_author or is_gitstream_author or is_greptile_author or is_qodo_author }}
# Group AI detections for better readability
rules_detected: {{
has_aider_rules or has_amazonq_rules or has_augmentcode_rules or
has_claude_rules or has_cursor_rules or has_customtool_rules or
has_firebase_rules or has_gemini_rules or has_github_copilot_rules or
has_goose_rules or has_jetbrains_junie_rules or has_kilocode_rules or
has_kiro_rules or has_openai_rules or has_openhands_rules or
has_warp_rules or has_windsurf_rules or has_zed_rules
}}
coauthor_detected: {{
has_aider_coauthor or has_aikido_coauthor or has_amazonq_coauthor or
has_atlassian_coauthor or has_bito_coauthor or has_claude_coauthor or
has_codeant_coauthor or has_codegen_coauthor or has_coderabbit_coauthor or
has_codota_coauthor or has_cubic_coauthor or has_cursor_coauthor or
has_devin_coauthor or has_ellipsis_coauthor or has_factory_coauthor or
has_fine_coauthor or has_gemini_coauthor or has_github_copilot_coauthor or
has_gitlab_duo_coauthor or has_gitstream_coauthor or has_google_jules_coauthor or
has_graphite_coauthor or has_greptile_coauthor or has_jazzberry_coauthor or
has_jetbrains_junie_coauthor or has_korbit_coauthor or has_meticulous_coauthor or
has_openai_coauthor or has_opencode_coauthor or has_qodo_coauthor or
has_replit_coauthor or has_rovo_coauthor or has_sourcegraph_coauthor or
has_sourcery_coauthor or has_sweep_coauthor or has_tabnine_coauthor or
has_tusk_coauthor or has_whatthediff_coauthor or has_windsurf_coauthor
}}
author_detected: {{
is_claude_author or is_coderabbit_author or is_cursor_author or
is_devin_author or is_fine_author or is_gemini_author or
is_github_copilot_author or is_gitstream_author or is_greptile_author or
is_qodo_author
}}
# General AI detection - true if ANY AI tool/method is detected
any_ai_detected: {{ rules_detected or coauthor_detected or author_detected }}
Is this review accurate? Use 👍 or 👎 to rate it

If you want to tell us more, use /gs feedback e.g. /gs feedback this review doesn't make sense, I disagree, and it keeps repeating over and over

has_openhands_rules: {{ files | match(regex=r/^\.openhands\/microagents\/[^\/]+\.md$/) | some }}
has_warp_rules: {{ files | match(regex=r/(^|.*\/)WARP\.md$/) | some }}
has_windsurf_rules: {{ files | match(regex=r/(^|.*\/)\.windsurfrules$/) | some }}
has_zed_rules: {{ files | match(regex=r/(^|.*\/)\.rules$/) | some }}
Copy link
Contributor

Choose a reason for hiding this comment

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

🐞 Bug - Overly Broad Pattern: Make the pattern more specific to Zed, such as /.zed/rules or add additional context to ensure it only matches legitimate Zed configuration files.

Suggested change
has_zed_rules: {{ files | match(regex=r/(^|.*\/)\.rules$/) | some }}
has_zed_rules: {{ files | match(regex=r/\.zed\/.*\.rules$/) | some }}
Is this review accurate? Use 👍 or 👎 to rate it

If you want to tell us more, use /gs feedback e.g. /gs feedback this review doesn't make sense, I disagree, and it keeps repeating over and over

has_augmentcode_rules: {{ files | match(regex=r/^\.augment\/rules\/[^\/]+\.md$/) | some }}
has_claude_rules: {{ files | match(regex=r/(^|.*\/)CLAUDE\.md$/) | some }}
has_cursor_rules: {{ files | match(regex=r/(^|.*\/)\.cursorrules$|^\.cursor\/rules\/[^\/]+\.md$/) | some }}
has_customtool_rules: {{ files | match(regex=r/(^|.*\/)\.customtool$|^\.custom\/rules\/[^\/]+\.rules$/) | some }}
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Maintainability - Placeholder Tool Entry: Remove the customtool entries or clearly document them as examples if they're intentionally included for demonstration purposes.

Suggested change
has_customtool_rules: {{ files | match(regex=r/(^|.*\/)\.customtool$|^\.custom\/rules\/[^\/]+\.rules$/) | some }}
# Removed placeholder customtool configuration - add actual AI tool detection patterns as needed
Is this review accurate? Use 👍 or 👎 to rate it

If you want to tell us more, use /gs feedback e.g. /gs feedback this review doesn't make sense, I disagree, and it keeps repeating over and over

@gitstream-cm gitstream-cm bot requested a review from a team November 10, 2025 18:45
is_fine_author: {{ pr.author | match(regex=r/(^fine-agent|^fine-ai)/i) }}
is_gemini_author: {{ pr.author | match(regex=r/(^gemini$|^gemini-|gemini-code-assist)/i) }}
is_github_copilot_author: {{ pr.author | match(regex=r/copilot/i) }}
is_gitstream_author: {{ pr.author | match(regex=r/gitstream/i) }}
Copy link
Collaborator

Choose a reason for hiding this comment

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

i think we don't support /i in the end of regex... please check it

@gitstream-cm gitstream-cm bot requested a review from a team November 11, 2025 07:08
@vim-zz vim-zz closed this Nov 11, 2025
@vim-zz vim-zz deleted the ai-adoption-measurements branch November 11, 2025 10:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants