Repository navigation
Conversation
Bind source, package version and immutable local image identity before qualification. Preserve frozen historical results, resource limits and latency bounds. Refresh mutable bases and reserve build/cleanup/upload time within the existing job cap. Focused contracts: 58 pass; complete local tooling: 227 pass, 8 explicit skips. No performance or deployment admission claimed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…tion Record isolated dependency and Prisma generation prerequisites. Confirm the new assessor preserves the original control assessment exactly, including all three failures. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🔵 Needs a closer look
The source-bound lane has not run in its required hosted Linux environment, and Windows builds or extracted guard contracts cannot replace the exact-image campaign and retained cleanup/artifact evidence needed for qualification.
No open issues 🎉
What changed in this PR
Updates membership performance qualification to measure the actual checkout image and dependency set rather than the frozen candidate from #251. Historical protocols, failed evidence, and performance thresholds remain unchanged; hosted qualification is still pending.
Changes:
- Builds with refreshed Docker bases and generates a separate protocol binding the immutable image ID, source commit, and package version.
- Adds checkout/image preflight checks and adjusts build and measurement budgets within the existing 75-minute job cap.
- Adds regression contracts and documents the implementation, evidence, and remaining qualification requirements.
| File | Description |
|---|---|
Session_starter.md |
Records implementation status and pending qualification. |
scripts/test/membership-performance.test.cjs |
Adds image-binding, CLI, preflight, and deadline contracts. |
scripts/performance/run-membership-qualification.ps1 |
Accepts generated protocols and verifies checkout/image consistency. |
scripts/performance/assess-membership.cjs |
Generates and validates source-bound candidate protocols. |
docs/ENDPOINT_SNAPSHOT_REVISION.md |
Documents binding behavior, execution issues, and validation evidence. |
docs/DEPLOYMENT_INFRASTRUCTURE_AND_FORM_FACTORS.md |
Updates qualification image provenance and time budgets. |
docs/CONTEXT_INSTRUCTIONS.md |
Summarizes current qualification status and constraints. |
CHANGELOG.md |
Records the unreleased tooling changes and reported coverage. |
.github/workflows/performance-qualification.yml |
Builds the checkout image, passes its protocol, and retains evidence. |
Review effort: Balanced
pranems
merged commit Nov 3, 2026
6f846cf
into
fix/performance-qualification-20261022
3 checks passed
This was referenced Nov 3, 2026
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
Qualify the exact checkout image and dependency set instead of the frozen
0.55.58 candidate. This is a small prerequisite stacked on #251, not a second
copy of that release candidate or permission to admit/deploy a failed build.
The workflow builds Linux/amd64 from its actual checkout, refreshes the mutable
base with
--pull, binds immutable image identity/source/version, and suppliesa separate generated protocol. The historical protocol, failed evidence,
latency bounds, quotas, warmups, samples and operation order remain unchanged.
Build, measurement, cleanup and evidence upload remain inside the existing
75-minute job cap. No serving API/browser source, Prisma migration, dependency
manifest or lockfile changes.
Linked Defect / Plan Reference
TDD Process
api/src/security/)Observed RED: absent checkoutProtocol helper; real CLI argument-count mismatch;
missing separate build/cleanup budget; missing fresh-base
--pull. GREEN:58 focused contracts, including actual CLI and extracted real PowerShell guard.
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. N/A for the changed tooling; actual CLI and image/protocol integration checks cover its output.scripts/live-test.ps1runnable against local + Docker + Azure. N/A for serving behavior; no HTTP contract changed. Release/deployment live gates remain independent.docs/with architecture, RFC references, Mermaid diagrams, test coverage. Updated the existing snapshot and infrastructure documents; no new protocol or 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; remains part of the unreleased parent 0.55.67 candidate, with no second product version or lockfile rewrite.Validation Output
Hosted performance qualification is NOT RUN yet. The workflow is absent from
default master, so the supported path is reviewed integration into #251 and
its normal ready-for-review event, not an assumed branch dispatch. Neither
the historical failures nor final-image admission is declared cleared.
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. N/A; no migration changed.Destructive Migration Override (skip if not applicable)
N/A; no database or migration change.
ALLOW_DESTRUCTIVE_MIGRATION=1in the CI environment for this PRReviewer Hint
Diff areas worth special attention from the reviewer:
checkoutProtocolandvalidateProtocol: immutable source/image binding;published immutable GHCR baseline remains mandatory; no unbound local image.
Assert-CheckoutImage: reject source, package version or revision mismatchbefore pulling/allocating; published historical protocol remains usable.
45-minute cooperative work cap and four-minute always-upload reserve.
PowerShell guard and unchanged role selection, not just string presence.
new framework, speculative measurement policy or paid benchmark host.
runtime; preserve failed historical evidence and normal publication gates.