name: API checks on: push: pull_request: jobs: checks: runs-on: debian-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22 - name: Validate repository documentation run: test -f README.md && test -f AGENTS.md && test -f docs/versioning.md - uses: actions/setup-python@v5 with: python-version: '3.12' - name: Validate restored-session schema and negative cases run: | python -m pip install jsonschema==4.26.0 python tests/session_contract.py - name: Validate JSON contracts and fixtures run: | node --input-type=module <<'NODE' import { readdir, readFile } from 'node:fs/promises'; for (const directory of ['contracts/v1', 'fixtures/v1']) { for (const name of await readdir(directory)) { if (!name.endsWith('.json')) continue; JSON.parse(await readFile(`${directory}/${name}`, 'utf8')); } } NODE