Skip to content

test: harden three load-sensitive tests found by a local CI mirror - #862

Merged
ScriptedAlchemy merged 1 commit into
mainfrom
ci-mirror/fixes
Sep 25, 2026
Merged

ScriptedAlchemy merged 1 commit into
mainfrom
ci-mirror/fixes

Conversation

@ScriptedAlchemy

Copy link
Copy Markdown
Owner

A local mirror of main's CI on 4f62216f30, run on a heavily loaded 96-core host, turned up three tests that fail under load. All three changes are test-only, so no changeset is needed (!tests/**). Hosted CI run 36190395499 on the same commit was green; these fixes harden tests, they don't repair a red main.

  • native-claude-contract.test.ts: the SIGKILL-escalation case used a 300 ms timeout. The SIGTERM could arrive before the child had installed its ignore handler, so SIGTERM killed the child and the test saw SIGTERM instead of SIGKILL (Node 26). The timeout is now 2 s.
  • mcp-probe-service.test.ts: probe() waits at most 50 ms for plugin-data teardown by design, and settle() is the barrier for it. The test now awaits settle() before asserting, like the other tests in the file.
  • support/eval-project.ts: the seeded agent-bundle/eval re-exported the whole src/eval/index.ts barrel. Jiti loads it with the module cache off, and measured load times were 29.0 s for the barrel, 3.9 s for suite.ts, and 0.1 s for assertions.ts. That pushed eval admission past its deadlines in agent-api/dev-artifact-service on Node 22.19. The seed now re-exports only defineEvalSuite, expectOutcome, and expectSkillActivation.

Local verification (after the fix)

  • Verify fast (Node 22.19.0/24/26): typecheck and lint pass; the shard partition covers 104 files; unit 4296 passed, route-unit 91, projection 197 on every Node.
  • Verify integration-1 (22.19.0/24/26): 925 passed, 4 skipped on each Node.
  • Rerun of the affected files: test:unit on the two files gives 36 passed, 1 skipped. test:integration:run on agent-api, dev-artifact-service, and eval-* gives 128 passed, 0 failed. rslint and tsc --noEmit are clean.

- native-claude-contract: give the SIGKILL-escalation child 2s to install its
  SIGTERM handler before the timeout fires.
- mcp-probe-service: await service.settle() before asserting plugin-data
  teardown, like the rest of the file.
- eval-project: seed agent-bundle/eval from suite.ts and assertions.ts instead
  of the src/eval barrel; Jiti discovery with the module cache off took ~30s
  per suite load on the barrel, past eval admission deadlines.
@changeset-bot

changeset-bot Bot commented Sep 25, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 158ff31

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@ScriptedAlchemy
ScriptedAlchemy merged commit b990c7e into main Sep 25, 2026
5 checks passed
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-09-25T23:35:37.854367Z 158ff31 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@ScriptedAlchemy
ScriptedAlchemy deleted the ci-mirror/fixes branch September 25, 2026 23:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant