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
2 changes: 2 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -268,8 +268,10 @@ 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 smoke E2E orchestrator (not a bundle; stages candidate compiler as a supply-chain.pipeline-artifact, pushes to a mirror branch, queues the five fixed fixture pipelines, and asserts green; referenced by `tests/compiler-smoke-e2e/`)
│ ├── 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
│ ├── __tests__/ # Bundle-coverage test (not a bundle; `bundle-coverage.test.ts` guards that every `src/` subdirectory is either listed in `NON_BUNDLE_DIRS` or ships a compiled bundle)
│ └── 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
14 changes: 13 additions & 1 deletion docs/ado-script.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 (not a bundle) that stages the compiler
> candidate produced by the current build (PR or nightly `main`) as a
> `supply-chain.pipeline-artifact`, pushes it to a short-lived mirror branch,
> queues the five fixed fixture pipelines listed in
> [`tests/compiler-smoke-e2e/REGISTERED.md`](../tests/compiler-smoke-e2e/REGISTERED.md),
> and asserts they all go green. It 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,7 +574,9 @@ 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 orchestrator (not a bundle); stages candidate as supply-chain.pipeline-artifact, queues five fixture pipelines on mirror branch, asserts green
│ └── __tests__/ # bundle-coverage guard: `bundle-coverage.test.ts` asserts every src/ subdir is either in NON_BUNDLE_DIRS or ships a compiled bundle
├── 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