Skip to content

test: remove wall-clock flake from PHPUnit runtime rejection contract #2274

Description

@chubes4

Problem

tests/phpunit-runtime-rejection.test.ts races terminalization against a fixed 500ms timer and asserts durationMs < 500. Under GitHub Actions scheduling, both push and pull_request contract jobs for #2273 failed at that timer even though the test passes locally and the runtime contract is event-driven.

Failed runs:

Failure:

Error: PHPUnit runtime rejection did not terminalize within 500ms
    at tests/phpunit-runtime-rejection.test.ts:65

Expected

Prove prompt terminalization deterministically from the rejection event without making correctness depend on CI wall-clock scheduling. Keep a bounded deadlock guard, but separate that generous process guard from the semantic assertion.

Acceptance

  • Contract remains red if the rejection event does not terminalize the operation.
  • Test does not fail merely because a loaded CI runner schedules completion after 500ms.
  • Redaction and infrastructure classification assertions remain intact.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions