critique-conformance #9
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
| # Nightly Critique Theater conformance run (Phase 16). | |
| # | |
| # Feeds every registered adapter through the conformance harness and | |
| # writes one ConformanceDay row per adapter into the daemon's data | |
| # directory. The /api/critique/conformance route reads the rolling | |
| # 14-day window and surfaces the ratchet's promote / hold / demote | |
| # recommendation. | |
| # | |
| # Cadence: 03:00 UTC every day. The schedule is intentionally outside | |
| # the busy generation window so the cron does not contend with real | |
| # user runs for adapter rate-limit budgets. | |
| # | |
| # Operator workflow: a follow-up workflow consumes | |
| # /api/critique/conformance and either auto-flips | |
| # OD_CRITIQUE_ROLLOUT_PHASE or alerts a human. That step is deploy- | |
| # pipeline-specific and intentionally not built here. | |
| name: critique-conformance | |
| on: | |
| schedule: | |
| - cron: '0 3 * * *' | |
| workflow_dispatch: {} | |
| jobs: | |
| run: | |
| name: nightly conformance + ratchet snapshot | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| run_install: false | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| cache: pnpm | |
| - name: Install workspace | |
| run: pnpm install --frozen-lockfile | |
| - name: Build daemon | |
| run: pnpm --filter @open-design/daemon build | |
| # The full adapter sweep lives in a follow-up that wires every | |
| # production agent CLI into the harness; here we drive the | |
| # synthetic-good and synthetic-bad fixtures so the workflow | |
| # proves the cron plumbing end-to-end (install + build + harness | |
| # invocation + history write) without depending on every adapter | |
| # binary being installable in the CI image. The runner exits | |
| # non-zero on any thrown error so the workflow fails loudly | |
| # instead of uploading an empty history snapshot. | |
| - name: Run conformance harness (synthetic adapters) | |
| run: | | |
| node --import tsx apps/daemon/src/critique/__fixtures__/run-nightly.ts | |
| - name: Upload history snapshot | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: critique-conformance-${{ github.run_id }} | |
| path: .od/conformance/ | |
| if-no-files-found: ignore | |
| retention-days: 30 |