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 @@ -268,6 +268,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 E2E orchestrator (not a bundle): stages the candidate compiler binary from the current build as a `supply-chain.pipeline-artifact` source across the five real fixtures in `tests/safe-outputs/`, pushes to a short-lived mirror branch, queues the five "candidate lane" pipeline definitions, and asserts they all go green
│ ├── 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
12 changes: 12 additions & 0 deletions docs/ado-script.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,17 @@ 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 produced
> by the current build (PR or nightly `main`) as a `supply-chain.pipeline-artifact`
> source across the five real fixtures in `tests/safe-outputs/`, pushes the staged
> candidate to a short-lived 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 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 directly.

## What `gate.js` does

`gate.js` is a single-shot Node program that runs as a step in the
Expand Down Expand Up @@ -564,6 +575,7 @@ 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
│ ├── compiler-smoke-e2e/ # test-only: compiler candidate E2E orchestrator (not a bundle): stages the candidate binary as a supply-chain.pipeline-artifact source across the five real fixtures in tests/safe-outputs/, queues the five "candidate lane" pipeline definitions, and asserts they all go green
│ └── executor-e2e/ # test-only: Stage 3 safe-output E2E harness (not a bundle; built to test-bin/executor-e2e.js)
├── test/ # End-to-end smoke tests (gate, import, exec-context-pr)
├── gate.js # ncc bundle output (gitignored)
Expand Down