From da9ac63e989bd285e20ef5ebb7375a472c84d81f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 25 Jul 2026 09:18:13 +0000 Subject: [PATCH] docs: add compiler-smoke-e2e to ado-script architecture docs The `scripts/ado-script/src/compiler-smoke-e2e/` directory exists in the codebase but was missing from both the AGENTS.md architecture tree and the `docs/ado-script.md` directory tree and test-only notes. - Add `compiler-smoke-e2e/` entry to the `scripts/ado-script/src/` tree in AGENTS.md (between `prepare-pr-base/` and `trigger-e2e/`) - Add a corresponding test-only callout note in `docs/ado-script.md` alongside the existing `executor-e2e` and `trigger-e2e` notes - Add `compiler-smoke-e2e/` to the directory tree in `docs/ado-script.md` - Update the docs index entry for `docs/ado-script.md` in AGENTS.md to mention the smoke orchestrator Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- AGENTS.md | 6 ++++-- docs/ado-script.md | 13 +++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 556717cd..886707ec 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -269,6 +269,7 @@ fail-closed and only pauses when the agent actually proposed a reviewed output. │ ├── 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) │ ├── 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 +│ ├── compiler-smoke-e2e/ # test-only: deterministic compiler smoke E2E orchestrator (not a bundle; stages candidate compiler → pushes to mirror → queues five fixture pipelines → asserts green) │ ├── 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 │ └── shared/ # Shared modules across bundles (auth, ado-client, env-facts, types.gen.ts) ├── tests/ # Integration tests and fixtures @@ -389,8 +390,9 @@ index to jump to the right page. bundles, `conclusion.js`, `approval-summary.js`, `github-app-token.js`, and `prepare-pr-base.js`), schemars-driven type codegen, the A2 design decision, the bundle env contract - modelled in `src/compile/ado_bundle.rs`, and the `trigger-e2e/` - gate-spec drift guard (kept in sync via `export-fact-catalog`). + modelled in `src/compile/ado_bundle.rs`, the `trigger-e2e/` + gate-spec drift guard (kept in sync via `export-fact-catalog`), and + the `compiler-smoke-e2e/` nightly smoke orchestrator. - [`docs/local-development.md`](docs/local-development.md) — local development setup notes. diff --git a/docs/ado-script.md b/docs/ado-script.md index dbcb9021..1f93b3b2 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 that drives the nightly / PR compiler +> smoke suite (see [`tests/compiler-smoke-e2e/`](../tests/compiler-smoke-e2e/)). +> It stages the candidate compiler as a `supply-chain.pipeline-artifact` source, +> pushes it to a short-lived branch on the mirror repo, queues the five fixture +> pipelines listed in `tests/compiler-smoke-e2e/REGISTERED.md`, and asserts +> they all go green. It is **not** a runtime bundle: it is built to +> `test-bin/compiler-smoke-e2e.js`, is listed in `NON_BUNDLE_DIRS` in +> `src/__tests__/bundle-coverage.test.ts`, and the compiler never references it. + ## What `gate.js` does `gate.js` is a single-shot Node program that runs as a step in the @@ -560,6 +570,9 @@ scripts/ado-script/ │ ├── prepare-pr-base/ # prepare-pr-base.js entry point + create-pull-request base-ref fetch/deepen │ │ ├── index.ts # main(): fetch/deepen target branch + set origin/HEAD so mcp.rs finds a diff base │ │ └── __tests__/ # unit tests for fetch/deepen + origin/HEAD + benign-failure paths +│ ├── compiler-smoke-e2e/ # test-only: deterministic compiler smoke E2E orchestrator (not a bundle; built to test-bin/compiler-smoke-e2e.js) +│ │ ├── index.ts # main(): stage candidate compiler → push to mirror branch → queue five fixture pipelines → assert green +│ │ └── ... # ado-rest, runner, config, fixtures, report, git, source, stale helpers │ ├── trigger-e2e/ # test-only: FACT_META gate-spec table + trigger-evaluation E2E scenarios (not a bundle) │ │ ├── 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