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 @@ -270,6 +270,7 @@ fail-closed and only pauses when the agent actually proposed a reviewed output.
│ ├── 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
│ ├── 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
│ ├── compiler-smoke-e2e/ # Test-only compiler smoke orchestrator (not a bundle): stages the current compiler candidate as a `supply-chain.pipeline-artifact` across the five lock-file fixtures, pushes to a mirror branch, queues the registered definitions, and asserts they all go green; ADO pipeline definition lives in `tests/compiler-smoke-e2e/`
│ └── 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)
Expand Down
13 changes: 13 additions & 0 deletions docs/ado-script.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,18 @@ 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 stages the compiler candidate built by
> the current PR or nightly `main` run as a pinned `supply-chain.pipeline-artifact`
> across the five lock-file fixtures (canary, azure-cli, noop-target, janitor,
> smoke-failure-reporter), pushes the staged candidate to a short-lived mirror
> branch, queues the registered "candidate lane" pipeline definitions, and asserts
> they all go green. It is **not** a runtime bundle: it is not part of the main
> `build` chain, is listed in `NON_BUNDLE_DIRS` in
> `src/__tests__/bundle-coverage.test.ts`, and the compiler never references it.
> The corresponding ADO pipeline definition (that invokes this harness) lives in
> [`tests/compiler-smoke-e2e/`](../tests/compiler-smoke-e2e/).

## What `gate.js` does

`gate.js` is a single-shot Node program that runs as a step in the
Expand Down Expand Up @@ -565,6 +577,7 @@ scripts/ado-script/
│ │ ├── 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)
│ └── compiler-smoke-e2e/ # test-only: compiler smoke orchestrator (not a bundle); ADO pipeline definition in tests/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