From 4bfc2ed1481debacb32aa3a3a91b0f3345d49d0c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 26 Jul 2026 09:20:34 +0000 Subject: [PATCH] docs: add compiler-smoke-e2e and __tests__ to ado-script architecture tree MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both directories exist in scripts/ado-script/src/ but were absent from the AGENTS.md architecture tree and docs/ado-script.md reference page. - compiler-smoke-e2e/: TypeScript orchestrator that stages the compiler candidate as a supply-chain.pipeline-artifact, queues the five fixed fixture pipelines on a mirror branch, and asserts green. Referenced by the CI-only tests/compiler-smoke-e2e/ fixtures. - __tests__/: bundle-coverage guard (bundle-coverage.test.ts) that asserts every src/ subdirectory is either in NON_BUNDLE_DIRS or ships a compiled bundle — prevents silent omissions from the release zip. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- AGENTS.md | 2 ++ docs/ado-script.md | 14 +++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 556717cd..a891fa67 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -268,8 +268,10 @@ fail-closed and only pauses when the agent actually proposed a reviewed output. │ ├── approval-summary/ # Safe-outputs summary renderer (bundled to approval-summary.js; end-of-Agent-job summary tab) │ ├── github-app-token/ # GitHub App token minter (bundled to github-app-token.js; mints installation token in Agent + Detection when engine.github-app-token is set) │ ├── executor-e2e/ # Stage 3 safe-output E2E test harness (not a bundle; runs deterministic scenarios against a real ADO project and files a GitHub issue on failure) +│ ├── compiler-smoke-e2e/ # Compiler smoke E2E orchestrator (not a bundle; stages candidate compiler as a supply-chain.pipeline-artifact, pushes to a mirror branch, queues the five fixed fixture pipelines, and asserts green; referenced by `tests/compiler-smoke-e2e/`) │ ├── prepare-pr-base/ # create-pull-request preparer (bundled to prepare-pr-base.js): Agent mode uses ADO diff metadata + bounded dual-ref fallback to make the merge-base reachable; SafeOutputs mode fetches only the target worktree tip │ ├── trigger-e2e/ # Test-only gate-spec / trigger-evaluation harness (not a bundle): mirrors Rust `Fact::ALL` in `gate-spec.ts`; `fact-catalog.gen.json` is generated by `export-fact-catalog` and drift-guarded by CI +│ ├── __tests__/ # Bundle-coverage test (not a bundle; `bundle-coverage.test.ts` guards that every `src/` subdirectory is either listed in `NON_BUNDLE_DIRS` or ships a compiled bundle) │ └── shared/ # Shared modules across bundles (auth, ado-client, env-facts, types.gen.ts) ├── tests/ # Integration tests and fixtures ├── docs/ # Per-concept reference documentation (see index below) diff --git a/docs/ado-script.md b/docs/ado-script.md index dbcb9021..35f9a7c1 100644 --- a/docs/ado-script.md +++ b/docs/ado-script.md @@ -112,6 +112,16 @@ pipeline** as runtime helpers. Today it produces thirteen bundles: > so the `gate-spec.test.ts` test can deep-compare `FACT_META` against the > Rust-side `Fact::ALL` registry, catching drift at CI time. +> **Test-only, not shipped: `compiler-smoke-e2e`.** The workspace also contains a +> `src/compiler-smoke-e2e/` orchestrator (not a bundle) that stages the compiler +> candidate produced by the current build (PR or nightly `main`) as a +> `supply-chain.pipeline-artifact`, pushes it to a short-lived mirror branch, +> queues the five fixed fixture pipelines listed in +> [`tests/compiler-smoke-e2e/REGISTERED.md`](../tests/compiler-smoke-e2e/REGISTERED.md), +> and asserts they all go green. It is listed in `NON_BUNDLE_DIRS` in +> `src/__tests__/bundle-coverage.test.ts` and the compiler never references it +> directly. + ## What `gate.js` does `gate.js` is a single-shot Node program that runs as a step in the @@ -564,7 +574,9 @@ scripts/ado-script/ │ │ ├── gate-spec.ts # FACT_META mirror of Rust Fact::ALL; drift-guarded by export-fact-catalog + fact-catalog.gen.json │ │ ├── fact-catalog.gen.json # generated by `cargo run -- export-fact-catalog`; deep-compared by gate-spec.test.ts │ │ └── __tests__/ # gate-spec drift tests and trigger-evaluation scenario tests -│ └── executor-e2e/ # test-only: Stage 3 safe-output E2E harness (not a bundle; built to test-bin/executor-e2e.js) +│ ├── executor-e2e/ # test-only: Stage 3 safe-output E2E harness (not a bundle; built to test-bin/executor-e2e.js) +│ ├── compiler-smoke-e2e/ # test-only: compiler candidate smoke orchestrator (not a bundle); stages candidate as supply-chain.pipeline-artifact, queues five fixture pipelines on mirror branch, asserts green +│ └── __tests__/ # bundle-coverage guard: `bundle-coverage.test.ts` asserts every src/ subdir is either in NON_BUNDLE_DIRS or ships a compiled bundle ├── test/ # End-to-end smoke tests (gate, import, exec-context-pr) ├── gate.js # ncc bundle output (gitignored) ├── import.js # ncc bundle output (gitignored)