Skip to content

feat: PLA-1061 accept immutable case admission order - #38

Merged
jeffatgametime merged 1 commit into
masterfrom
schedule-test-cases
Sep 15, 2026
Merged

jeffatgametime merged 1 commit into
masterfrom
schedule-test-cases

Conversation

@jeffatgametime

Copy link
Copy Markdown
Contributor

The following code makes an impact.

Purpose of Change

Allow a hosted orchestration caller to supply an immutable test-case admission order without changing selected coverage or result identity. This is the generic library primitive for duration-informed scheduling, not the history selector.

Ticket Link

PLA-1061

Change Overview

  • Add optional RunOptions.CaseOrder, keyed by package and containing a complete case-name permutation.
  • Validate the full hint before admission; unknown, missing or duplicate names trigger whole-hint fallback with a package diagnostic.
  • Preserve canonical result indices/names, sequential child steps, hooks, cleanup and existing shared/exclusive executor admission.
  • No result-store access, scheduling clock, new dependency or static package priority.

Stack dependency: #37 (itself follows #36). This PR targets hosted-case-concurrency while #37 is open. Do not merge into that feature branch. Retarget to master only after prerequisites merge, revalidate the diff, CI and default-branch review requirements.

Affected Functionality

Hosted RunWithContext/RunPackageWithOptions admission order only. Missing hints preserve canonical behavior. Native Go test ordering remains unchanged. Hints are caller-owned immutable snapshots; the library does not mutate them.

Testing

  • Independent go test -race ./... -count=3 -timeout=90s: pass, including shared executor lifecycle/exclusivity tests.
  • go vet ./..., git diff --check: pass.
  • Matching Go 1.21.13 + golangci-lint 1.54.2: clean.
  • Tests prove valid permutation changes execution order while retaining canonical results/child identities, and wrong cardinality, same-length duplicates, unknown names and absent hints execute every case once via deterministic fallback. Invalid hints emit a diagnostic.
  • Fresh review caught incorrect test expectations for nested names; primary corrected expectations to existing parent/name identities before the passing verification runs.

Observability

Invalid scheduling hints emit a package diagnostic. Existing QueueDur and admitted lifecycle Dur remain separate. Runtime duration history selection, comparable coverage and queue-delay measurements belong to the api-tests consumer integration; no speedup claimed here.

Rollout

Merge prerequisites #36 and #37 first, retarget and reverify on master, then normal checks/required teammate approval. No tag or deployment by this PR-management task. Root owns immutable api-tests dependency adoption, recorded history snapshot, Temporal compatibility and staged runtime validation. Remove CaseOrder or pass no hint for canonical-order fallback.

Co-Authored-By: Codex <noreply@openai.com>
@jeffatgametime
jeffatgametime changed the base branch from hosted-case-concurrency to master September 15, 2026 05:06
An error occurred while trying to automatically change base from hosted-case-concurrency to master September 15, 2026 05:06
@jeffatgametime
jeffatgametime merged commit 3a727f6 into master Sep 15, 2026
2 checks passed
@jeffatgametime
jeffatgametime deleted the schedule-test-cases branch September 15, 2026 05:07
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