integration ยท git:20261015.4c65c28 ยท 2026-10-15 ยท sha256 f463e3756c49ef42

integration git:20261015.4c65c28A

Immutable. This exact content never changes and is served at /api/v1/blob/f463e3756c49ef42.

---
name: integration
description: Run integration and e2e tests after unit tests pass. Use after /supergraph:fix when unit tests are green.
mcp: codebase-memory-mcp
---

# /supergraph:integration

Integration + e2e tests. Validates modules work together. Run AFTER unit tests pass.

## Usage

`/supergraph:integration` | `plan auth-login` | `plan auth-login task 3`

## Prerequisites

- Unit tests passing (`$TEST_CMD` green)
- `/supergraph:fix` completed

## Steps

### 0. Announce
"๐Ÿ”— /supergraph:integration โ€” running integration and e2e tests..."

### 1. Get Commands
Read from plan `## Environment Context` or `.supergraph-env`. Missing โ†’ STOP, run `/supergraph:scan` first.

### 2. Verify Unit Tests Pass
```bash
$TEST_CMD
```
If unit tests FAIL โ†’ STOP: "Unit tests must pass before integration. Run `/supergraph:fix` first."

### 3. Detect Integration Setup
Check for integration configuration:

| Config | Command |
|---|---|
| `jest.integration.config.js` | `npx jest --config jest.integration.config.js` |
| `vitest.integration.config.ts` | `npx vitest --config vitest.integration.config.ts` |
| `pytest.ini` with `[integration]` or `-m integration` | `pytest -m integration` |
| `cypress.config.js` / `cypress.config.ts` | `npx cypress run` |
| `docker-compose.test.yml` | `docker compose -f docker-compose.test.yml up --abort-on-container-exit` |
| `*.integration.test.ts` / `*.integration.spec.ts` pattern | `npx jest --testPathPattern="integration"` |

If none found โ†’ skip: "No integration/e2e config found โ€” skipping."

### 4. Run Integration Tests
Max 3 retries. On failure:

**4b. Serena (optional):** See `serena/SKILL.md:Setup` โ€” `find_referencing_symbols`/`get_diagnostics_for_file` per failing module to surface mismatches. Skip if unavailable.

Trace failure to source module, fix, re-run.

### 5. Run E2E & Web QA Automation
- **Web/Frontend Projects**: ALWAYS automatically invoke `/supergraph:browser-agent` to generate or verify ISTQB QA matrix coverage (Happy path, Sad path, Boundary, Network 500 error injection, Auth/RBAC) using native Rust CDP (anti-bot bypass, zero Playwright).
- **Execution**: Run automated test cases via `agent-browser` or project e2e test script. Max 2 retries (e2e is inherently flaky). Annotate flaky tests โ€” do not block merge on known-flaky external network tests.

### 6. Graph Validation
For `CBM_PROJECT` via `codebase-memory-mcp` (see `references/codebase-memory-contract.md`) โ€” `search_graph`/`trace_path` + recipes `dependencies/cross-boundary/test-gaps`; fall back to Serena/filesystem if empty.

### 7. Update Plan Status
Pass โ†’ mark in-progress tasks `Status: completed`.
Fail after 3 retries โ†’ mark `stuck`, append failure log.

### 8. Report
```
โœ… /supergraph:integration complete
- Unit: PASS | Integration: PASS|FAIL|SKIP | E2E: PASS|FAIL|SKIP
- Cross-module flows: N/M covered | Surprising connections: [list/none]
- Plan status: updated|none
- Next: /supergraph:verify โ†’ /supergraph:review
```

## Rules
- Unit tests MUST pass BEFORE running integration
- Integration failures take priority over e2e (fix foundation first)
- Max 3 retries integration, 2 retries e2e
- Never block merge on `@flaky`-annotated e2e tests
- Always update plan status after completion
- After integration pass โ†’ `/supergraph:verify` โ†’ `/supergraph:review`