Skip to content
Merged
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/ # Deterministic compiler-candidate smoke E2E orchestrator (not a bundle): stages a compiler candidate, pushes to a short-lived `ado-aw-mirror` branch, queues the five FIXED "candidate lane" pipeline definitions, and asserts they go green. Consumes fixtures from `tests/compiler-smoke-e2e/`; built to `test-bin/` by `build:compiler-smoke-e2e`, listed in `NON_BUNDLE_DIRS`.
│ ├── 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
17 changes: 16 additions & 1 deletion docs/ado-script.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,20 @@ 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 drives 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 (PR or nightly `main`)
> as a pinned `supply-chain.pipeline-artifact` source across the five real fixtures in
> `tests/safe-outputs/`, pushes the staged candidate to a short-lived `ado-aw-mirror`
> branch on the mirror repo, queues the five FIXED "candidate lane" pipeline definitions
> (tracked in `tests/compiler-smoke-e2e/REGISTERED.md`), and asserts they all go green.
> It is **not** a runtime bundle: it is built to the non-root `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` so the shipped-bundle guard ignores it. 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 +578,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: deterministic compiler-candidate smoke E2E orchestrator (not a bundle; built to test-bin/ by build:compiler-smoke-e2e)
├── 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