Skip to content

feat(ci): add doc review pipeline with auto-labeling and Copilot review#6890

Open
jstirnaman wants to merge 28 commits intomasterfrom
claude/triage-agent-plan-EOY0u
Open

feat(ci): add doc review pipeline with auto-labeling and Copilot review#6890
jstirnaman wants to merge 28 commits intomasterfrom
claude/triage-agent-plan-EOY0u

Conversation

@jstirnaman
Copy link
Contributor

@jstirnaman jstirnaman commented Feb 28, 2026

Summary

  • Add auto-label workflow that applies product:* labels based on changed file paths (reads data/products.yml)
  • Add doc review workflow with Copilot code review (native reviewer, auto-loaded instruction files) and Copilot visual review (rendered preview pages)
  • Extend data/products.yml with content_path and label_group fields as single source of truth
  • Create review criteria in .github/instructions/content-review.instructions.md (auto-loaded by Copilot for content/**/*.md)
  • Create shared review format in .github/templates/review-comment.md
  • Simplify .github/copilot-instructions.md by removing duplicated content
  • Add label taxonomy docs in .github/LABEL_GUIDE.md and agent instructions in .claude/agents/

Architecture

PR opened/updated (content paths)
        │
        ├──────────────────────────┐
        ▼                          ▼
  Job 1: Resolve URLs        Job 2: Copilot Code Review
  (changed files → URLs)     (gh pr edit --add-reviewer copilot-reviews)
        │                    Uses .github/instructions/ for review rules
        ▼
  Job 3: Copilot Visual Review
  (wait for preview deploy, post @copilot with URLs)

Remaining work

  • Label migration scripts (helper-scripts/label-migration/)
  • Execute label migration (run scripts with human gates)
  • End-to-end test with a real content PR

Plan

See .github/DOC-REVIEW-PIPELINE-PLAN.md for the full implementation plan.

Detailed plan for two interconnected systems:
1. Label system overhaul (22 automation-driven labels replacing 30+ inconsistent ones)
2. Doc review workflow (Claude visual review + Copilot structural review with screenshots)

This is a plan document only — no implementation changes.

https://claude.ai/code/session_01D5rLaHdQv9iBL55UEsdQFt
@jstirnaman jstirnaman requested a review from a team as a code owner February 28, 2026 16:00
@jstirnaman jstirnaman requested review from sanderson and removed request for a team February 28, 2026 16:00
@jstirnaman
Copy link
Contributor Author

@claude split product:v3 into v3 monolith and v3 distributed

- product:v3-monolith: Core, Enterprise (single-node / clusterable)
- product:v3-distributed: Cloud Serverless, Cloud Dedicated, Clustered
- Updated auto-label path mappings to match content directory structure
- Updated migration mapping and label count (22 → 23)

https://claude.ai/code/session_01D5rLaHdQv9iBL55UEsdQFt
Copy link
Contributor Author

@jstirnaman jstirnaman left a comment

Choose a reason for hiding this comment

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

Keep agent primary instruction files consistent and lean.

claude and others added 4 commits February 28, 2026 17:00
- One CLAUDE.md (pointer) → role-specific files in .claude/agents/
- doc-triage-agent.md: label taxonomy, path mapping, priority rules
- doc-review-agent.md: review scope, severity classification, output format
- Prompt file (.github/prompts/) references agent file, stays workflow-specific
- Updated file summary and implementation order

https://claude.ai/code/session_01D5rLaHdQv9iBL55UEsdQFt
Claude now handles diff-only Markdown review (frontmatter, shortcodes,
style, terminology). Copilot handles visual review by analyzing
screenshots posted as images in PR comments.

Key changes:
- Job 3 (Claude) runs in parallel with Jobs 1→2→4 (diff-only, no screenshots)
- Job 4 (Copilot) analyzes screenshots via @copilot PR comment mentions
- Two prompt files: doc-review.md (Claude), copilot-visual-review.md (Copilot)
- doc-review-agent.md scoped to diff-only (no screenshot analysis)
- Q1 resolved: screenshots delivered to Copilot via PR comment images
- Reduced Claude API cost (no image processing)
- Added Copilot failure handling (fallback to human review of artifacts)

https://claude.ai/code/session_01D5rLaHdQv9iBL55UEsdQFt
Convert Q2–Q5 from open recommendations to resolved decisions:
- Q2: Advisory only (no required status checks) until false-positive rate confirmed
- Q3: Playwright for CI screenshots, Puppeteer for local debugging
- Q4: Poll preview URL with 15s interval and 10-min timeout
- Q5: Cost acceptable with existing mitigations (path filters, skip-review, concurrency)

Rename section from "Open Questions" to "Decisions (Resolved)".

https://claude.ai/code/session_01D5rLaHdQv9iBL55UEsdQFt
@jstirnaman jstirnaman requested review from Copilot and removed request for sanderson March 1, 2026 21:42
@jstirnaman jstirnaman self-assigned this Mar 1, 2026

This comment was marked as outdated.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@jstirnaman jstirnaman removed their assignment Mar 1, 2026
Copy link
Contributor

Copilot AI commented Mar 1, 2026

@jstirnaman I've opened a new pull request, #6893, to work on those changes. Once the pull request is ready, I'll request review from you.

…ements (#6893)

* Initial plan

* fix: resolve label naming inconsistency and document workflow updates

- Rename review:approved to approval:codeowner to avoid confusion with review/* labels
- Add note explaining the distinct prefix to prevent implementor confusion
- Document required workflow updates for sync-plugin-docs label migration
- Specify exact files and line numbers that need updating

Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
@jstirnaman jstirnaman marked this pull request as draft March 1, 2026 22:38
Add Phase 2-3 pipeline components: doc-review workflow (3-job
architecture), Claude/Copilot review prompts, URL resolver script,
triage and review agents, and label guide.

Deduplicate AGENTS.md (254→96 lines) by removing content available
in referenced docs. Remove duplicate sections from
copilot-instructions.md (264→221 lines). AGENTS.md now contains
only high-signal guidelines loaded every session: commands,
constraints, style rules, product paths, and reference pointers.
…abel groups for each product. Product group labels will be used to assign reviewers and help with content checks.
Add auto-label workflow that applies product and source labels to
PRs based on changed file paths, using data/products.yml as the
source of truth. Add workflow-utils.js shared helper for product
path matching.
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Consolidate duplicated label definitions and review comment format
into shared source-of-truth files to prevent context drift.

New files:
- data/labels.yml: source, waiting, workflow, review, and
  product:shared label definitions (names, colors, descriptions)
- .github/templates/review-comment.md: severity levels, comment
  structure, result rules, and result-to-label mapping

Updated consumers to reference shared files instead of inline copies:
- .claude/agents/doc-review-agent.md
- .claude/agents/doc-triage-agent.md
- .github/prompts/copilot-visual-review.md
- .github/LABEL_GUIDE.md

Workflow fixes:
- Pin all GitHub Actions to SHA hashes
- Fix fromJson() for url-count comparison in doc-review.yml
- Fix fallback handler to remove all review:* labels before re-adding
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 17 out of 17 changed files in this pull request and generated 3 comments.

- Remove claude-code-action job, use `copilot-reviews` reviewer instead
- Extract review criteria to .github/instructions/content-review.instructions.md
- Simplify copilot-instructions.md by removing duplicated content
- Harden auto-label workflow (scoped permissions, pagination, concurrency)
- Upsert visual review comments instead of creating duplicates
- Delete unused .github/prompts/doc-review.md
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 18 out of 18 changed files in this pull request and generated 5 comments.

jstirnaman and others added 2 commits March 3, 2026 12:39
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@jstirnaman jstirnaman changed the title feat: add doc review pipeline implementation plan feat(ci): add doc review pipeline with auto-labeling and Copilot review Mar 3, 2026
@jstirnaman jstirnaman requested a review from Copilot March 3, 2026 19:06
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 18 out of 18 changed files in this pull request and generated 6 comments.

jstirnaman and others added 8 commits March 3, 2026 13:21
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@jstirnaman jstirnaman marked this pull request as ready for review March 3, 2026 20:20
@jstirnaman jstirnaman requested a review from sanderson March 3, 2026 20:42
@jstirnaman
Copy link
Contributor Author

@sanderson TLDR; this adds the following labels, migrates issues and PRs from the old labels, and then deletes the old labels.

Repository: influxdata/docs-v2

Product labels:
  product:v3-monolith             #FFA500  InfluxDB 3 Core and Enterprise (single-node / clusterable)
  product:v3-distributed          #FFA500  InfluxDB 3 Cloud Serverless, Cloud Dedicated, Clustered
  product:v2                      #FFA500  InfluxDB v2 (Cloud TSM, OSS)
  product:v1                      #FFA500  InfluxDB v1 OSS
  product:v1-enterprise           #FFA500  InfluxDB Enterprise v1
  product:telegraf                #FFA500  Telegraf documentation
  product:chronograf              #FFA500  Chronograf documentation
  product:kapacitor               #FFA500  Kapacitor documentation
  product:flux                    #FFA500  Flux language documentation
  product:explorer                #FFA500  InfluxDB 3 Explorer
  product:shared                  #FFA500  Shared content across products

Source tracking labels:
  source:auto-detected            #9370DB  Created by change detection within this repo
  source:dar                      #9370DB  Generated by DAR pipeline (issue analysis)
  source:sync                     #9370DB  Synced from an external repository
  source:manual                   #9370DB  Human-created issue

Waiting state labels:
  waiting:engineering             #FF8C00  Waiting for engineer confirmation
  waiting:product                 #FF8C00  Waiting for product/PM decision

Workflow state labels:
  agent-ready                     #00FF00  Agent can work on this autonomously
  skip-review                     #1E90FF  Skip automated doc review pipeline

Review outcome labels:
  review:approved                 #28A745  Automated review passed — no blocking issues
  review:changes-requested        #DC3545  Automated review found blocking issues
  review:needs-human              #FFC107  Automated review inconclusive, needs human

Renamed labels:
  ai:tooling                      #3fb91f  Related to AI assistant infrastructure
  ci:testing                      #a1fd0f  CI/testing infrastructure

Existing labels (ensure present):
  release:pending                 #FEF2C0  Waiting for product release before merging

Done. Total: 24 new + 1 existing = 25 labels.

Copy link
Collaborator

@sanderson sanderson left a comment

Choose a reason for hiding this comment

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

Automation! 🤖

@github-actions
Copy link
Contributor

github-actions bot commented Mar 4, 2026

PR Preview

Preview pages needed

This PR changes layout/asset files but doesn't specify which pages to preview.

To generate a preview, add documentation URLs to your PR description, for example:

Please review:
- https://docs.influxdata.com/influxdb3/core/get-started/
- /telegraf/v1/plugins/

Then re-run the workflow or push a new commit.


Last checked: 2026-03-04 17:57:17 UTC

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.

5 participants