Skip to content

ci: make timeout-clock regression test scheduler-independent #583

Closed

Description

@codeforester

Goal

Make the timeout-clock no-retry regression test deterministic across supported hosts.

Background

The existing test uses a child command to record that a failing external timeout clock was not retried. The clock failure can terminate the supervised process group before that child gets scheduled, so the assertion depends on child startup timing rather than directly observing timeout-clock retries.

Scope

  • Update the focused BATS regression in lib/bash/std/tests/lib_std.bats to count executions of the fake timeout clock, excluding its --version capability probe.
  • Assert the failing clock is invoked exactly once and that the infrastructure diagnostic is reported.
  • Keep the change confined to test code; production timeout and retry behavior remain unchanged.

Acceptance Criteria

  • The regression verifies no retry by observing the timeout clock itself.
  • The test does not depend on the child command running before the clock failure.
  • Focused timeout/supervision tests and the full repository validator pass.

Validation

  • Run the focused timeout/supervision BATS tests and repeat the regression test ten times.
  • Run ./tests/validate.sh and git diff --check.

Non-Goals

  • Change production timeout or retry behavior, public APIs, release metadata, or runtime policy.
  • Add or maintain a repository-root .ai-context/ pack.

Activity

  1. added
    ciContinuous integration, tests, automation, or release workflows
    on Nov 2, 2026
  2. self-assigned this
    on Nov 2, 2026
  3. added theissue type on Nov 2, 2026
  4. moved this from Backlog to Triage in base-bash-libson Nov 2, 2026
  5. moved this from Triage to In Progress in base-bash-libson Nov 2, 2026
  6. moved this from In Progress to In Review in base-bash-libson Nov 2, 2026
  7. moved this from In Review to Done in base-bash-libson Nov 2, 2026
  8. added this to the v2.3.0 milestone on Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

ciContinuous integration, tests, automation, or release workflows

Type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions