Skip to content

docs(site): update filter-ir page to reflect Node/TypeScript gate evaluator#634

Merged
jamesadevine merged 1 commit into
mainfrom
docs/filter-ir-node-gate-evaluator-93834616e94589c1
May 19, 2026
Merged

docs(site): update filter-ir page to reflect Node/TypeScript gate evaluator#634
jamesadevine merged 1 commit into
mainfrom
docs/filter-ir-node-gate-evaluator-93834616e94589c1

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

Summary

  • The Filter IR reference page now accurately describes the current Node/TypeScript gate evaluator instead of the old Python implementation. Users reading this page were getting incorrect implementation details: wrong language, wrong artifact names, wrong file paths, and a non-existent "Tier 1 inline path" code path.

Changes

  • site/src/content/docs/reference/filter-ir.mdx — corrected all stale Python/scripts.zip references to match the current Node/TypeScript/ado-script.zip implementation

Accuracy checks

  • Verified against src/compile/extensions/trigger_filters.rs: module docstring confirms "All filter types (simple and complex) are evaluated by the Node evaluator — there is no inline bash codegen path"; GATE_EVAL_PATH = "/tmp/ado-aw-scripts/ado-script/dist/gate/index.js"; downloads ado-script.zip
  • Verified against src/compile/filter_ir.rs: comment references scripts/ado-script/dist/gate/index.js; GateSpec doc comment says "Node gate evaluator"
  • Verified against src/compile/pr_filters.rs: comment "Gate step generation is now handled entirely by TriggerFiltersExtension"
  • Verified against docs/filter-ir.md (source-of-truth repo docs): already updated to Node/TypeScript; site page was behind

Key corrections:

  • Codegen pass: "Python evaluator" → "Node.js gate evaluator (scripts/ado-script/dist/gate/index.js)"
  • Generated step: Python heredoc (python3 << 'GATE_EVAL_EOF') → node '/tmp/ado-aw-scripts/ado-script/dist/gate/index.js'
  • Evaluator section: renamed from Python Gate Evaluator (scripts/gate-eval.py) to Bundled Gate Evaluator (scripts/ado-script/src/gate/); language updated (os.environprocess.env, urllibazure-devops-node-api, datetime.now(timezone.utc)Date.now())
  • Predicates table: FileGlobMatch — removed stale "Python fnmatch globs" description
  • TriggerFiltersExtension: added Node install step; download changed from scripts.zip/gate-eval.py to ado-script.zip/gate.js at correct path /tmp/ado-aw-scripts/ado-script/dist/gate/index.js
  • Removed stale "Tier 1 Inline Path" section (no such code path exists)
  • Gate Step Injection: removed inline gate step reference; now correctly states TriggerFiltersExtension handles all filter gate generation
  • Scripts Distribution: updated artifact URL from scripts.zip to ado-script.zip
  • Adding New Filter Types step 4: scripts/gate-eval.pyscripts/ado-script/src/gate/predicates.ts

Validation

  • cd site && npm ci && npm run build — 28 pages built, all internal links valid

Created by the docs-writer workflow.

Generated by Docs Writer · ● 5.2M ·

…luator

Replace stale Python evaluator references with the current Node/TypeScript
implementation. The gate evaluator was migrated from a Python heredoc
(gate-eval.py / scripts.zip) to a bundled TypeScript program
(gate.js / ado-script.zip). The site documentation did not track this change.

Key corrections:
- Codegen pass: 'Python evaluator' -> 'Node.js gate evaluator'
- Generated step structure: Python heredoc -> 'node /.../gate/index.js' call
- Evaluator section: renamed from 'Python Gate Evaluator (scripts/gate-eval.py)'
  to 'Bundled Gate Evaluator (scripts/ado-script/src/gate/)'; updated language
  (os.environ -> process.env, urllib -> azure-devops-node-api, datetime -> Date.now())
- Predicates table: FileGlobMatch description no longer mentions Python fnmatch
- TriggerFiltersExtension: added Node install step; changed download artifact
  from scripts.zip/gate-eval.py to ado-script.zip/gate.js at correct path
- Removed stale 'Tier 1 Inline Path' section (all filters now use Node evaluator)
- Gate Step Injection: removed inline gate step reference
- Scripts Distribution: updated to ado-script.zip / gate.js bundle URL
- Adding New Filter Types: updated evaluator file from gate-eval.py to
  scripts/ado-script/src/gate/predicates.ts

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jamesadevine jamesadevine marked this pull request as ready for review May 19, 2026 06:10
@jamesadevine jamesadevine merged commit 0d81e7a into main May 19, 2026
@jamesadevine jamesadevine deleted the docs/filter-ir-node-gate-evaluator-93834616e94589c1 branch May 19, 2026 06:10
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.

1 participant