Q3 LTI Evolution Decision
Decision
Evolve the current Live Testing Interface instead of starting a parallel clean-room rewrite during Q3.
The current application already provides the costly control-plane foundations:
- scheduled tests and maintenance work;
- donation, petition, Stripe, GoCardless, PayPal, Salesforce, Sentry, FRAPI, Asana, and email helpers;
- scenario import and versioned Agentic QA suites;
- an authenticated Agent API with leases, idempotency, evidence, and terminal run aggregation;
- a private local visual runner and outbound runner bridge;
- Cloud Run service and scheduler delivery with candidate smoke and promotion.
The greenfield package at
specs/005-live-testing-interface-greenfield-rebuild/ is the normative target.
Observed implementation behavior does not override that contract.
Tradeoffs
Benefits
- Preserves working operational and reporting behavior.
- Lets Q3 effort focus on executable cross-system scenarios.
- Supports incremental replacement behind explicit contracts.
- Keeps one source of run history and evidence.
Costs
- Legacy Django, Selenium, and provider helpers remain temporarily.
- Some existing configuration and documentation require consolidation.
- Adapter boundaries must be introduced carefully around older checks.
Rejected default
A full rewrite is rebuild-ready but is not the default Q3 implementation. It would require re-proving scheduling, recurrence, provider behavior, reports, Agent API security, runner reliability, and deployment before adding scenario coverage.
Migration Path
- Treat the existing Agent API and scenario models as the control plane.
- Add target-aware adapters for acceptance Website, backend, DonUI, FRAPI, MODB, Iterable, and approved payment sandboxes.
- Prefer direct API assertions for data and health. Use browser automation for browser state, rendering, interaction, redirect, and payment UX behavior.
- Version scenarios and evidence so a failing replacement can fall back to the previous version without changing expected business outcomes.
- Replace legacy helpers only after equivalent contract tests and one accepted sandbox run exist.
Promotion Gates
- CI and migration checks pass.
- Synthetic adapters pass without production credentials.
- A candidate web revision passes authenticated health checks.
- The scheduler uses the same verified image only after web promotion.
- Provider sandbox evidence is reviewed by a human.
- No unresolved secret, production-write, or cleanup finding remains.