Skip to content

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

Merged
jstirnaman merged 38 commits intomasterfrom
claude/triage-agent-plan-EOY0u
Mar 10, 2026
Merged

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

Conversation

@jstirnaman
Copy link
Copy Markdown
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/
  • Consolidate label system: migrate legacy labels to namespaced taxonomy (product:*, source:*, waiting:*, area:*, review:*, release:*)

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)

Both workflows support workflow_dispatch with a pr_number input for on-demand re-runs.

Label migration

Migrated labels to namespaced taxonomy:

Old New
AI assistant tooling area:agents
ci:testing-and-validation ci:testing
design area:site-ui
InfluxDB Cloud product:v2-cloud
user feedback source:feedback

Deleted: Pending PR (replaced by waiting:pr), broke-link (replaced by area:links)

New labels: waiting:pr, area:agents, area:ci, area:links, area:site-ui, product:v2-cloud, source:feedback, release:pending, release:ready, good-first-issue

End-to-end test results

Triggered via workflow_dispatch with pr_number=6890:

Workflow Job Result
Auto-label PRs auto-label Pass (14 path mappings loaded, 0 product labels — correct for non-content PR)
Doc Review resolve-urls Pass (0 URLs — correct for non-content PR)
Doc Review copilot-review Pass (copilot-reviews added as reviewer)
Doc Review copilot-visual-review Skipped (correct — 0 URLs)

Visual review (Job 3) needs a content-changing PR to fully exercise preview URL polling.

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
Copy Markdown
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
Copy Markdown
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.

Comment thread .github/DOC-REVIEW-PIPELINE-PLAN.md Outdated
Comment thread .github/DOC-REVIEW-PIPELINE-PLAN.md Outdated
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.

Comment thread .github/DOC-REVIEW-PIPELINE-PLAN.md Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@jstirnaman jstirnaman removed their assignment Mar 1, 2026
Copy link
Copy Markdown
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.
jstirnaman and others added 4 commits March 3, 2026 13:27
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
Copy Markdown
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
Copy Markdown
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! 🤖

- Add workflow_dispatch with pr_number input to both workflows for
  manual testing and on-demand re-runs
- Migrate sync-plugin-docs label references to source:sync
- Add area:agents, area:ci, area:links, release:*, good-first-issue,
  source:feedback, waiting:pr to labels.yml
- Update products.yml: influxdb_cloud label_group v2 -> v2-cloud
- Track label renames and deletions in LABEL_GUIDE.md
npm ci fails in sparse checkout because package-lock.json is not
included. The workflow only needs js-yaml for YAML parsing.
Reverse the revert from 2f8efd6 to provide content changes that
exercise the auto-label and doc-review workflows end-to-end.
@github-actions github-actions bot added the product:v3-monolith InfluxDB 3 Core and Enterprise (single-node / clusterable) label Mar 9, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 9, 2026

PR Preview Action v1.4.8
🚀 Deployed preview to https://influxdata.github.io/docs-v2/pr-preview/pr-6890/
on branch gh-pages at 2026-03-09 22:55 UTC

@jstirnaman
Copy link
Copy Markdown
Contributor Author

@copilot Fix the broken links reported by link-checker:

Error: Broken link: /influxdb3/enterprise/reference/config-options/##azure-endpoint (Fragment not found: ##azure-endpoint)
Error: Broken link: /influxdb3/enterprise/reference/config-options/#compaction-row-limit (Fragment not found: #compaction-row-limit)

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 9, 2026

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 9, 2026

Visual Review Skipped

The PR preview deployment did not become available within 10 minutes.
Visual review was skipped. The Copilot code review (Job 2) still ran.

To trigger visual review manually, re-run this workflow after the
preview is deployed.

curl --head outputs response headers before the status code from -w,
so STATUS contained "HTTP/2 200 ...200" instead of just "200".
Drop --head and add -o /dev/null to capture only the status code.
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 9, 2026

Preview Pages for Review

2 page(s) changed in this PR:

Preview URLs

@copilot please review the preview pages listed above using the template below:

Visual Review Prompt

Review the rendered documentation pages at the preview URLs listed below.
Check each page for visual and structural issues that are invisible in the
Markdown source.

Checklist

For each preview URL, verify:

  • No raw shortcodes — No {{< or {{% syntax visible on the page
  • No placeholder text — No PLACEHOLDER, TODO, FIXME, or
    template variables visible in rendered content
  • Layout intact — No overlapping text, missing images, or collapsed
    sections
  • Code blocks render correctly — No raw HTML fences or Markdown
    syntax visible inside code blocks
  • Product names correct — Page header, breadcrumbs, and sidebar show
    the correct product name
  • No 404s or errors — Page loads without error states
  • Navigation correct — Sidebar entries link to the right pages and
    the page appears in the expected location

Output

Follow the shared review comment format, severity definitions, and label
mapping in
templates/review-comment.md.

Adapt the "Files Reviewed" section to list preview URLs instead of file
paths.

Preview URLs

* Initial plan

* fix: correct broken links in serve.md files for enterprise config-options

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

* Update content/influxdb3/enterprise/reference/cli/influxdb3/serve.md

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
@jstirnaman jstirnaman merged commit b951d3c into master Mar 10, 2026
10 checks passed
@jstirnaman jstirnaman deleted the claude/triage-agent-plan-EOY0u branch March 10, 2026 01:22
github-actions bot added a commit that referenced this pull request Mar 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

product:v3-monolith InfluxDB 3 Core and Enterprise (single-node / clusterable)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants