> ## Content Index
> Fetch the complete content index at: https://contextfirst.blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# Team → Seam → Journey
- URL: https://contextfirst.blog/sit-63-workflows-team-seam-journey/
- Published: 2026-08-28T13:00:00.000Z
- Updated: 2026-08-28T13:00:01.000Z
- Description: 63 workflows so UAT doesn't eat you
- Author: Iheatu Chris Wogu
- Tags: Field Notes, Engineering Management, Agentic Delivery, Learning Journey 2026

From [chain testing](./04-integration-tests-are-chains.md) grew a full **System Integration Testing program**: **63 workflows** in three phases - **15 team-boundary**, **6 cross-team seams**, **42 compound end-to-end paths**. Without gate order, UAT becomes a morale sink: infinite retest, no owner, activity without landing.

**Here's what this piece covers:** the quiet-UAT anti-pattern, the three phases, how we sequenced proof in TEST, and three program policies I would publish as a lead.

Portfolio note: we measured **35% defect reduction** as recurrence slowed at **94 named handoffs** \- team-estimated; verify baseline before you cite it in your org.

Part of [Field Notes: agentic delivery](https://contextfirst.blog/field-notes-agentic-delivery/).

---

## 1\. The leadership problem

Parallel team CI without seam gates produces **green locally, red in integrated TEST**. Teams argue whose environment is ready while users still see one broken moment.

**Wrong:** "We ran SIT for six weeks."  
**Right:** "63 workflows in three phases: prove team scope, prove seams, prove the end-to-end path - with explicit exit criteria between each."

The anti-pattern is **quiet UAT death** \- retest loops with no owner, activity without landing the plane.

---

## 2\. What the corpus shows

The SIT plan matured May–Jun 2026 across `docs/SIT Plan/` \- no single hero commit, but a coherent portfolio narrative in `sit-program-portfolio-summary.md`.

| Phase       | Count | Question it answers                                                    |
| ----------- | ----- | ---------------------------------------------------------------------- |
| **Phase 1** | 15    | Does *our* service work? (identity, records, org-data team boundaries) |
| **Phase 2** | 6     | Does the *seam* work? (shared coordinators)                            |
| **Phase 3** | 42    | Does the user *get the result*? (UJ-\* paths)                          |

Plain rule from the overview doc:

- Phase 1 = our service works
- Phase 2 = the handoff works
- Phase 3 = the user gets the outcome

flowchart TD P1\[Phase 1 - 15 team workflows\] --> P2\[Phase 2 - 6 seam workflows\] P2 --> P3\[Phase 3 - 42 end-to-end paths\] P3 --> UAT\[UAT replay - same IDs\] P1 -.->|all three teams green| P2 P2 -.->|all seams green| P3

Gate policy as something you can code-review:

```java
enum SitPhase { TEAM, SEAM, JOURNEY }

boolean mayEnter(SitPhase next, Map<SitPhase, Boolean> green) {
  return switch (next) {
    case TEAM -> true;
    case SEAM -> Boolean.TRUE.equals(green.get(SitPhase.TEAM));
    case JOURNEY -> Boolean.TRUE.equals(green.get(SitPhase.SEAM));
  };
}
```

**Gate rules (verified in plan docs):**

- Phase 2 in TEST requires **all three** Phase 1 team gates green
- Phase 3 requires **all Phase 2** workflows green
- UAT replays promoted suites - same workflow IDs, different base URL

---

## 3\. How it works

**Phase 1 examples:** record CRUD inside a team boundary; entitlement service self-tests with mocked peers.

**Phase 2 examples:** `WF-ACCT-1` signup ↔ records service; `WF-REG-1/2` entitlement from upstream record; partner/locator shared paths.

**Phase 3:** compound `UJ-*` paths grouped by user outcome - API read-back, not browser (browser proof is [tiers beat the full matrix](./06-e2e-l0-l4-ninety-two-sites.md)).

| Team               | Phase 1 role             | Blocks                           |
| ------------------ | ------------------------ | -------------------------------- |
| Identity / shared  | Shared platform services | Phase 2 until team Phase 1 green |
| Records            | Primary action path      | Phase 2 until team Phase 1 green |
| Org / partner data | Org + locator data       | Phase 2 until team Phase 1 green |

**What broke:** Phase 2 blocked for weeks when one team deferred "not our service." Workflow IDs must map to Jira - or traceability dies in triage.

---

## 4\. Named pattern: team → seam → journey

> **Team → seam → journey** \- three SIT phases with explicit exit criteria; 63 workflows sequenced, not dumped into UAT.

Count seams explicitly. We tracked **94 handoffs** \- optimize test design for seams, not endpoint count.

---

## 5\. What I'd do as a lead

1. **Publish phase gates as program policy**, not team preference. "Optional SIT" is how UAT dies quietly.
2. **One shared pipeline promotes suites TEST → UAT** \- same IDs, different env. Forked suites fork truth.
3. **Name seam owners on the integration surface map** (article 02). Feature owners alone cannot sign Phase 2.

---

### Further reading

- [Prove the path, not the POST](./04-integration-tests-are-chains.md)
- [Tiers beat the full matrix](./06-e2e-l0-l4-ninety-two-sites.md) \- browser layer, same paths
- Planning: `docs/sit-program-portfolio-summary.md`, `docs/SIT Plan/00-sit-plan-overview.md`

---

![Iheatu Chris Wogu](https://avatars.githubusercontent.com/u/3457705?s=176&v=4)

## About the author

**Iheatu Chris Wogu** is an engineering manager focused on launch programs, honest engineering metrics, and **engineering-led, agent-accelerated** delivery - researching where work queues up when agents widen dev output, then building proof, gates, and measurement that scale.

Field notes live on [First Context](https://contextfirst.blog/). Values treatise: [engineering manager values](https://contextfirst.blog/engineering-manager-values/).

**LinkedIn:** [linkedin.com/in/iheatu-chris-wogu](https://www.linkedin.com/in/iheatu-chris-wogu/?ref=contextfirst.blog)