Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,7 @@ 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-candidate smoke E2E orchestrator (not a bundle; stages candidate across 5 fixture pipelines on mirror repo and asserts green; built to test-bin/compiler-smoke-e2e.js)
│ ├── 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
│ └── shared/ # Shared modules across bundles (auth, ado-client, env-facts, types.gen.ts)
Expand Down
16 changes: 15 additions & 1 deletion docs/ado-script.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,19 @@ 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/` harness that orchestrates the deterministic
> compiler-candidate smoke E2E suite (see [`tests/compiler-smoke-e2e/`](../tests/compiler-smoke-e2e/)).
> It stages the compiler candidate produced by the current build as a pinned
> `supply-chain.pipeline-artifact` source across five real fixture pipelines
> (canary, azure-cli, noop-target, janitor, smoke-failure-reporter), pushes
> to a short-lived branch on a mirror repo, queues all five, and asserts they
> all go green. It is **not** a runtime bundle: it is built to
> `test-bin/compiler-smoke-e2e.js` by `npm run build:compiler-smoke-e2e` (kept
> out of the main `build` chain and the release `ado-script/*.js` glob), and
> `compiler-smoke-e2e` is listed in `NON_BUNDLE_DIRS` in
> `src/__tests__/bundle-coverage.test.ts`. The compiler never references it.

## What `gate.js` does

`gate.js` is a single-shot Node program that runs as a step in the
Expand Down Expand Up @@ -564,7 +577,8 @@ 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 E2E orchestrator (not a bundle; built to test-bin/compiler-smoke-e2e.js); stages candidate across 5 fixture pipelines on mirror repo and asserts green
├── test/ # End-to-end smoke tests (gate, import, exec-context-pr)
├── gate.js # ncc bundle output (gitignored)
├── import.js # ncc bundle output (gitignored)
Expand Down