Evaluate and finalize environment management approach for MR-level contract runs
## Overview This issue covers Task 1.2 from the [Performance contracts for Modular Features](https://gitlab.com/groups/gitlab-org/quality/-/work_items/387) epic — deciding the environment substrate for MR-level contract validation before Milestone 2 build work begins. ## Goal Evaluate CPT as the primary candidate for providing transitory MR-level test environments, and produce a documented decision with rationale that Milestone 2 can be built against with confidence. ## Background The performance contract system defines *what* to measure and *what thresholds to enforce* — but it does not own the environment those tests run in. The environment substrate is a hard dependency: Milestone 2 cannot begin until this decision is made. CPT is the leading candidate. The POC ran against Caproni (local k8s), so the key question is whether CPT's stand-up/test/tear-down pattern can serve the same role in CI. ## Tasks - [x] Review CPT's current stand-up/test/tear-down pattern for MR-level environments - [ ] Assess whether the POC flow (definition → validation → k6 enforcement → CI gating) can be ported to CPT without significant rework - [ ] Identify any gaps or blockers in CPT that would prevent it serving this role - [ ] If CPT is not viable, identify and evaluate alternatives - [ ] Document the decision with rationale ## Output / Definition of Done - A documented decision: CPT (or alternative) confirmed as the environment substrate - Rationale recorded — including any gaps identified and how they will be addressed or deferred - Decision is sufficient for Milestone 2 build work (Task 2.1) to begin ## Open Questions - **CPT gap assessment**: does CPT's current pattern support the contract validation + k6 enforcement flow without modification, or does it require changes on the CPT side? - **Ownership**: if CPT requires changes to support this use case, who owns that work and on what timeline? - **Fallback**: if CPT is not viable, what is the alternative and how does that affect the Milestone 2 timeline? ## References - Epic: https://gitlab.com/groups/gitlab-org/quality/-/work_items/387 - POC repo: https://gitlab.com/gl-dx/performance-enablement/demos/perf-contract-poc - CPT project: https://gitlab.com/gitlab-org/quality/component-performance-testing
issue