* feat: add doc review pipeline 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
* fix: split product:v3 into v3-monolith and v3-distributed labels
- 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
* feat: define agent instruction file architecture in Phase 3
- 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
* feat: move visual/screenshot review from Claude to Copilot
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
* chore: resolve all open questions in doc review pipeline plan
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
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix label naming inconsistency and document workflow migration requirements (#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>
* feat(ci): add doc review pipeline and deduplicate instruction files
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.
* task: updated PR pipeline plan
* task: remove old cli plan
* task: products file now contains content path mappings and (GitHub) label groups for each product. Product group labels will be used to assign reviewers and help with content checks.
* feat(ci): add auto-label workflow for PR product detection
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.
* refactor(ci): extract shared label and review format definitions
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
* refactor(ci): replace Claude review with Copilot native code review
- 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
* Update .github/workflows/doc-review.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update .github/DOC-REVIEW-PIPELINE-PLAN.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* task: update review pipeline plan
* task: add label-migration scripts. These are one-use scripts that we'll remove after the label migration
* Update .github/workflows/doc-review.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update .github/workflows/doc-review.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update .github/workflows/auto-label.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* style: remove unnecessary escape in regex character class
* feat(ci): add workflow_dispatch to auto-label and doc-review workflows
- 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
* fix(ci): replace npm ci with targeted js-yaml install in auto-label
npm ci fails in sparse checkout because package-lock.json is not
included. The workflow only needs js-yaml for YAML parsing.
* fix(ci): add --legacy-peer-deps to auto-label npm install
* task: updated labels for migration
* docs: update pipeline plan with test results and completion status
* test: reapply reverted serve.md changes for e2e pipeline test
Reverse the revert from
|
||
|---|---|---|
| .. | ||
| README.md | ||
| create-labels.sh | ||
| delete-labels.sh | ||
| migrate-labels.sh | ||
README.md
Label Migration Scripts
Migrate the docs-v2 repository from 80+ ad-hoc labels to the 24-label taxonomy defined in DOC-REVIEW-PIPELINE-PLAN.md.
Prerequisites
ghCLI authenticated with access toinfluxdata/docs-v2- Run from any directory (scripts use
REPOenv var, defaults toinfluxdata/docs-v2)
Execution Order
Step 1: Create new labels (safe, idempotent)
./create-labels.sh # Creates 24 new labels
./create-labels.sh --dry-run # Preview without creating
Uses gh label create --force, which creates new labels or updates existing
ones. Safe to run multiple times.
Step 2: Migrate issues to new labels
./migrate-labels.sh # Adds new labels to issues with old labels
./migrate-labels.sh --dry-run # Preview without modifying issues
Adds new labels to issues/PRs that have old labels. Does NOT remove old labels.
Flags InfluxDB v3 issues for manual review (may be monolith or distributed).
Step 3: Verify migration
Before deleting old labels, verify a sample of migrated issues:
# Check issues with new product labels
gh issue list -R influxdata/docs-v2 -l "product:v3-monolith" --state all
gh issue list -R influxdata/docs-v2 -l "product:v3-distributed" --state all
# Check the flagged InfluxDB v3 issues
gh issue list -R influxdata/docs-v2 -l "InfluxDB v3" --state all
Step 4: Delete old labels (destructive, interactive)
./delete-labels.sh # Deletes old labels with confirmation prompts
./delete-labels.sh --dry-run # Preview without deleting
Prompts for confirmation before each batch of deletions. Batches:
- Old product labels (15 labels)
- Old release labels (2 labels)
- Old source tracking labels (1 label)
- Renamed labels (2 labels)
- Unused/generic labels (14 labels)
Step 5: Update workflow references
After deleting sync-plugin-docs, update these files to use source:sync:
.github/workflows/sync-plugins.yml(lines 28, 173, 421).github/ISSUE_TEMPLATE/sync-plugin-docs.yml(line 4)
Targeting a different repo
REPO=myorg/myrepo ./create-labels.sh
REPO=myorg/myrepo ./migrate-labels.sh --dry-run
Rollback
If something goes wrong after Step 2 (migration):
- Old labels still exist (not deleted until Step 4)
- New labels can be removed:
gh label delete "product:v3-monolith" -R influxdata/docs-v2 --yes - Issues retain both old and new labels until old labels are deleted
If something goes wrong after Step 4 (deletion):
- Old labels are gone but issues retain the new labels
- Re-create old labels manually if needed:
gh label create "InfluxDB v3" -R influxdata/docs-v2 --color EC8909
Label Taxonomy
See the full taxonomy in DOC-REVIEW-PIPELINE-PLAN.md.
| Category | Count | Prefix | Example |
|---|---|---|---|
| Product | 11 | product: |
product:v3-monolith |
| Source tracking | 4 | source: |
source:sync |
| Waiting states | 2 | waiting: |
waiting:engineering |
| Workflow states | 2 | (none) | agent-ready, skip-review |
| Review outcomes | 3 | review: |
review:approved |
| Renamed | 2 | various | ai:tooling, ci:testing |