diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b9fe2b375e..0d9f6644b3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -102,8 +102,12 @@ jobs: with: name: rea-dist path: dist - - name: Generate source catalog from downloaded build - run: node scripts/generate-mcp-tool-catalog.mjs + - name: Restore generated outputs from downloaded build + run: | + node scripts/generate-mcp-tool-catalog.mjs + node scripts/generate-skill-metadata.mjs + node scripts/generate-product-catalog.mjs + node scripts/generate-completion-ledger.mjs - run: npm run test:ci:shard:run -- --shard=${{ matrix.shard }} - uses: actions/upload-artifact@v4 if: ${{ !cancelled() }} diff --git a/tests/boundary/process/processCaptureLifecycle.test.ts b/tests/boundary/process/processCaptureLifecycle.test.ts index 53e42aaa6f..566c00597e 100644 --- a/tests/boundary/process/processCaptureLifecycle.test.ts +++ b/tests/boundary/process/processCaptureLifecycle.test.ts @@ -423,11 +423,20 @@ itWithCaptureCapability( ); const timedOutCapture = captureObservations(timedOut); expect(timedOutCapture.capture.exit.reason).toBe("timeout"); - if (!timedOutCapture.cleanupIncomplete && timedOut.ok) - expect(timedOut.value.cleanup).toEqual({ + if (!timedOutCapture.cleanupIncomplete && timedOut.ok) { + expect(timedOut.value.cleanup).toMatchObject({ owned_process_group: "verified", temporary_root: "removed", }); + for (const { pid } of timedOut.value.cleanup.unverified_processes ?? []) { + expect(timedOut.value.residual_unknowns).toContainEqual({ + scope: "process", + reason: expect.stringContaining( + `${String(pid)} could not be verified`, + ), + }); + } + } const controller = new AbortController(); setTimeout(() => controller.abort(), 50);