feat(core): authoritative agents.manifest.json + optional contract description #278
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| ci: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # Fail fast (before install/build) if internal/pre-release references | |
| # leak into the public repo. Recurrence guard for the 018 incident. | |
| - name: Guard against internal references | |
| run: bash scripts/check-no-internal-refs.sh | |
| - uses: pnpm/action-setup@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: '.nvmrc' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Security audit | |
| run: pnpm audit --audit-level=high | |
| - name: Lint | |
| run: pnpm run lint | |
| # Build before typecheck so cross-package `@otaip/*` imports can | |
| # resolve via the published-style `exports["."].types -> ./dist/...` | |
| # entries. Doubles as a validation that every package builds on a | |
| # clean tree (the same configuration that ships to npm). | |
| - name: Build | |
| run: pnpm -r run build | |
| # Fail loud if any built bundle can't be imported (e.g. a data file that | |
| # tsup didn't inline → MODULE_NOT_FOUND on import). Catches the silent | |
| # footgun before it can ship to npm. | |
| - name: Verify built bundles load | |
| run: pnpm verify:dist | |
| # The committed agent manifest must match what the generator produces | |
| # from discovery + contracts. Fails loud if a contributor changed an | |
| # agent or contract without regenerating `agents.manifest.json`. | |
| - name: Verify agent manifest is up to date | |
| run: pnpm gen:manifest --check | |
| - name: Type check | |
| run: pnpm run typecheck | |
| - name: Download reference data | |
| run: pnpm run data:download | |
| - name: Test | |
| run: pnpm run test |