Repository navigation
Conversation
Compare predeclared 100 and 1000 warmup cycles on one current checkout image without changing original admission. Preserve spans and cleanup, reject cross-experiment evidence, and share exact-image build logic between two real workflow callers. Focused contracts: 137 PASS, zero skips or failures. Hosted study and normal protected publication remain pending. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🔵 Needs a closer look
The Linux/Docker build and hosted study remain unexecuted, requiring human review of exact-tip run artifacts to verify image binding, deadline handling, artifact retention, and resource cleanup beyond mocked checks.
No open issues 🎉
What changed in this PR
Adds a bounded warmup diagnostic to investigate the stability gap holding #251, building on #264’s descriptive evidence tooling. The study does not change release admission criteria or authorize deployment; hosted execution remains pending.
Changes:
- Runs fixed 100- and 1000-cycle warmup treatments on one source-bound image, preserving resource limits, measured sample counts, evidence and cleanup.
- Shares the exact-checkout image builder and rejects calibration receipts from release assessment and native-function comparisons.
- Adds regression coverage and documents execution budgets, stop rules and interpretation limits.
| File | Description |
|---|---|
Session_starter.md |
Records study preparation and the continuing release hold. |
scripts/test/membership-warmup.test.cjs |
Tests preflight guards, image binding, admission isolation and workflow bounds. |
scripts/test/membership-v8-profile.test.cjs |
Updates receipt fixtures and tests calibration rejection. |
scripts/test/membership-performance.test.cjs |
Tests both warmup counts, retained spans and invalid settings. |
scripts/test/membership-cpu-trace.test.cjs |
Tests calibration evidence validation and mismatched metadata. |
scripts/performance/run-membership-qualification.ps1 |
Adds guarded calibration settings to the existing trace lifecycle. |
scripts/performance/membership-v8-profile.cjs |
Rejects calibration receipts from native comparisons. |
scripts/performance/membership-cpu-trace.cjs |
Validates fixed treatments and complete warmup spans. |
scripts/performance/build-membership-image.ps1 |
Extracts the shared exact-checkout image builder. |
scripts/performance/benchmark-membership.cjs |
Supports bounded warmup selection and marks calibration receipts. |
scripts/performance/assess-membership.cjs |
Rejects calibration-marked release evidence. |
docs/strategy/ENGINEERING_LESSONS_AND_PATTERNS.md |
Documents shared-validator compatibility and experiment isolation. |
docs/ENDPOINT_SNAPSHOT_REVISION.md |
Defines study design, stop rules, limitations and validation evidence. |
docs/DEPLOYMENT_INFRASTRUCTURE_AND_FORM_FACTORS.md |
Documents workflow budgets and restricted authority. |
docs/CONTEXT_INSTRUCTIONS.md |
Summarizes study status and deployment restrictions. |
CHANGELOG.md |
Records the diagnostic tooling and regression coverage. |
.github/workflows/performance-qualification.yml |
Uses the shared image builder. |
.github/workflows/membership-warmup-diagnostic.yml |
Adds the bounded two-treatment workflow and artifact retention. |
Review effort: Balanced
pranems
marked this pull request as ready for review
November 3, 2026 12:02
pranems
merged commit Nov 3, 2026
0b6490f
into
fix/performance-qualification-20261022
4 checks passed
17 of 20 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Prepare one bounded, non-admitting fixed 100/1000-warmup diagnostic on an
exact checkout image, without retrying or changing original qualification.
Stacked on held #251 after the corrected evidence prerequisite #264. The
study is not a release gate waiver or a claim that longer warmup is a fix.
It runs exactly two current/current BAAB blocks on one existing Linux host
and one source-bound image, retaining all warmup/measured spans and raw values.
Original 0.5 CPU / 1 GiB limits, 1000 measured cycles and admission bounds
are unchanged. Every calibration-marked receipt is rejected by the original
assessor and by native-function comparisons.
The shared exact-image builder now has two real workflow callers. The
existing trace lifecycle gains a finite owner/trace/source-guarded parameter,
not a second resource orchestrator. There is no new dependency, paid Azure
host, secret, application behavior, public image push or deployment.
Study stop rules are frozen in the feature doc before allocation. Each
block retains its 15-minute cooperative deadline, 20-minute step cap and
exact cleanup; the 65-minute job reserves separate build/upload time.
Do not adapt warmup, discard observations, select favorable windows, retry
failed visits or turn descriptive stability into admission. Sequential
host-time/history differences and observer perturbation remain limitations.
Linked Defect / Plan Reference
TDD Process
api/src/security/)Observed RED: absent calibration identity, 100 rather than 1000 warmup cycles,
missing preflight/builder/workflow, original diagnostic cardinality rejection
and native comparison accepting cross-experiment evidence. Current focused
GREEN is 137/137, including twelve new cases and the existing native caller.
Feature / Bug-Fix Commit Checklist (standing rule)
Every behavioral change must include all that apply. Tick or strike through with N/A + reason.
api/test/e2e/exercising the feature through HTTP. Actual HTTP client and real CLI/PowerShell contracts cover the changed tooling; API source is unchanged.scripts/live-test.ps1runnable against local + Docker + Azure. N/A for Azure; bounded hosted diagnostic remains required before using its observations.docs/with architecture, RFC references, Mermaid diagrams, test coverage. Existing feature, infrastructure, lessons and RCA documents updated; no new diagram.docs/INDEX.md. N/A; no new document.[Unreleased]entry with full test counts and feature summarySession_starter.mdanddocs/CONTEXT_INSTRUCTIONS.mdapi/package.json(and any other version refs) when behavior changed. N/A; this is a prerequisite for unreleased parent 0.55.67, not a new product release. No local lock regeneration.Validation Output
Standing Rules Acknowledgment
U+2014) anywhere in the diff. Verified viaSelect-String -Pattern ([char]0x2014).git commit --amendon history that has been pushed.api/src/security/forbidden-source-patterns.spec.tswill catch known anti-patterns.api/src/scripts/lint-migrations.tsenforces this.No migration change. Standing source/security gates pass in the complete
normal protected push, without amend, force, no-verify or lockfile rewrites.
Destructive Migration Override (skip if not applicable)
ALLOW_DESTRUCTIVE_MIGRATION=1in the CI environment for this PRReviewer Hint
Diff areas worth special attention from the reviewer:
complete raw warmup spans and cleanup under failure/deadline.
caps, no retry/adaptive policy and deliberate readiness allocation.
client metadata, and the real native CLI rejects calibration-marked input.
a builder with two concrete callers; no speculative experiment framework.
numerically compatible evidence from a different experiment explicitly.