Skip to content

DRAFT: Fix Vale #2554

Draft
ctauchen wants to merge 7 commits intotigera:mainfrom
ctauchen:vale
Draft

DRAFT: Fix Vale #2554
ctauchen wants to merge 7 commits intotigera:mainfrom
ctauchen:vale

Conversation

@ctauchen
Copy link
Collaborator

@ctauchen ctauchen commented Mar 2, 2026

  • Fix Vale configuration: sync MDX package, exclude API docs, fix Makefile
  • Add categorized Vale vocabulary, substitution rules, and fix typos
  • Fix vocabulary casing: move tools to brands for proper Terms enforcement
  • Add vale-lint.sh wrapper for proper MDX parsing with PICKLEVAR
  • Fix vale-lint.sh to preserve uncommitted changes and update vocabulary
  • Fix brand name casing across all docs (271 files)
  • Fix prose terminology and casing across all docs (231 files)

Product Version(s):

Issue:

Link to docs preview:

SME review:

  • An SME has approved this change.

DOCS review:

  • A member of the docs team has approved this change.

Additional information:

Merge checklist:

  • Deploy preview inspected wherever changes were made
  • Build completed successfully
  • Test have passed

ctauchen and others added 7 commits March 2, 2026 12:15
- Run `vale sync` to download MDX package (adds TokenIgnores for MDX
  inline expressions, reducing JSX false positives)
- Add glob exclusions for auto-generated _api.mdx and _ia-api.mdx files
- Remove unused /styles volume mount from Makefile vale target

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 1 spelling cleanup:
- Reorganize flat accept.txt into categorized vocab directories:
  CalicoBrands, CalicoTerminology, CalicoTools, CalicoAcronyms
- Add ~100 new accepted terms across categories
- Add capitalization substitution rules (IPAM, VXLAN, TCP, UDP, etc.)
- Add FortiGate brand casing rule
- Fix 19 typos across 99 doc files (versioned + unversioned):
  visibile, peformance, bandwith, Scaning, paramaters,
  microsegemntation, vulnerabilties, explit, adjustted,
  namepace, controlle, cluser, suach, matchPaterrn,
  Cillium, stablesAddress, modifiedsimplified, inscope
- Treat .mdx as markdown to avoid mdx2vast dependency
- Remove MDX package (crashes on $[variable] syntax)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Move Felix, VPP, PowerShell from CalicoTools to CalicoBrands (enforce
  correct casing in prose instead of accepting lowercase)
- Add Fluentd, Waypoint to CalicoBrands
- Add IPVS, URLs, VPP to CalicoAcronyms
- Add userspace to CalicoTerminology
- Remove url/configmap from terminology (now in acronyms/brands)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the mdx=md workaround with proper mdx2vast MDX parsing.
The wrapper script temporarily substitutes $[variable] syntax with
PICKLEVAR (same approach as CI) before running Vale, then restores
files via git checkout.

This eliminates ~1,200 false positives from code inside JSX
components that the markdown parser couldn't detect as code blocks.

- Restore Packages = MDX in .vale.ini
- Remove [formats] mdx = md workaround
- Remove TokenIgnores for $[...] (mdx2vast handles it after PICKLEVAR)
- Add PICKLEVAR to CalicoDocs accept list
- Add scripts/vale-lint.sh with dependency checks and cleanup trap

Usage: scripts/vale-lint.sh [vale args...]

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The PICKLEVAR cleanup in vale-lint.sh used `git checkout --` to restore
files after replacing $[variableName] tokens, which destroyed any
uncommitted changes. Replace with a temp-directory backup/restore
approach that only reverts the PICKLEVAR substitution.

Also remove erroneous IDS entry from CalicoAcronyms (was causing false
positives on legitimate "IDs" usage), and refine vocabulary categorization:
move CoreDNS, DaemonSets, DevOps, zTunnel to CalicoBrands for proper
Terms casing enforcement; remove apiserver, coredns, ztunnel from
CalicoTools; remove daemonset, devops, config from CalicoTerminology.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Correct casing for brand/product/tool names flagged by Vale.Terms:
- Wireguard/wireguard → WireGuard (56 files, prose only)
- Openshift → OpenShift (53 files, prose only)
- AlertManager → Alertmanager (18 files)
- Cloudwatch → CloudWatch (14 files)
- Fortigate → FortiGate (7 files)
- VNET → VNet (31 files, Azure networking)
- WireShark → Wireshark (14 files)
- ElasticSearch → Elasticsearch (3 files)
- Kubelet → kubelet (20 files, mid-sentence)
- Iptables → iptables (7 files, headings)
- kops → kOps (18 files)
- JIRA → Jira (1 file)

Preserves code contexts: config keys, metric names, Go type names,
JS imports/components, URLs, anchor links, YAML values, CLI commands.

Reduces Vale.Terms violations from 1,268 to 1,090 (-178).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Substitution fixes:
- dataplane/Dataplane → data plane (128 instances across prose, headings,
  config-params.json Name/Group fields, API descriptions)
- ebpf → eBPF (108 instances in release notes and headings)
- helm → Helm (55 instances in prose)
- addon/Addon → add-on (20 instances)
- Http → HTTP (7 instances)
- Minikube → minikube (4 instances)

Terms casing fixes:
- UNIX/unix → Unix (90 instances in timestamp descriptions)
- Kubeconfig → kubeconfig (28 instances)
- Kubenet → kubenet (27 instances)
- devops → DevOps (24 instances)
- ipsec → IPsec (18 instances)
- wireguard → WireGuard (32 instances in config descriptions)
- openshift → OpenShift (4 instances)

Preserves all code contexts: config keys, metric names, YAML values,
URLs, code blocks, inline code, GKE product names (Dataplane V2),
GitHub project names (vpp-dataplane), and API type names.

Full corpus results (including versioned docs):
- Vale.Terms: 4,156 → 3,954 (-202)
- CalicoStyle.Substitutions: 963 → 660 (-303)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings March 2, 2026 16:31
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 wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

@netlify
Copy link

netlify bot commented Mar 2, 2026

Deploy Preview for calico-docs-preview-next ready!

Name Link
🔨 Latest commit 70920a4
🔍 Latest deploy log https://app.netlify.com/projects/calico-docs-preview-next/deploys/69a5bb70aa669a000855e5c4
😎 Deploy Preview https://deploy-preview-2554--calico-docs-preview-next.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link

netlify bot commented Mar 2, 2026

Deploy Preview succeeded!

Built without sensitive environment variables

Name Link
🔨 Latest commit 70920a4
🔍 Latest deploy log https://app.netlify.com/projects/tigera/deploys/69a5bb707988ee0008b55ac5
😎 Deploy Preview https://deploy-preview-2554--tigera.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 67 (🔴 down 6 from production)
Accessibility: 98 (no change from production)
Best Practices: 92 (no change from production)
SEO: 100 (no change from production)
PWA: -
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

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.

2 participants