Problem and evidence
The Turbo test-api (4) job for PR #30093 failed in an Official Workflow
public-boundary integration test even though that PR contains no Turbo changes.
Observed job:
The failing test is
installs, guards, reconfigures, retires, and uninstalls through public boundaries
in
turbo/apps/api/src/signals/routes/__tests__/official-workflows.test.ts.
It exceeded Vitest's default 5-second test limit and completed at 5.331 seconds.
The shard otherwise passed 409 tests.
Repository inspection shows that this is one roughly 990-line scenario containing
64 sequential awaited boundaries and about 60 route-client calls. At the timeout
boundary, the log had reached the expected late-stage copy-upload failure path, so
there is no evidence that one request, promise, or lifecycle phase failed to
settle. Focused runs have varied from 3.98 seconds to 5.177 seconds, while an
earlier CI run completed the same scenario in 2.156 seconds. The supported root
cause is cumulative integration-test work with insufficient margin under shard
contention, combined with a test boundary too coarse to identify the phase when a
real regression occurs.
Decision
Keep this issue and correct its scope: stabilize and improve the diagnostic
granularity of the Official Workflow lifecycle integration coverage. Do not treat
the failure as evidence of a product lifecycle race unless a focused test exposes
one.
Constraints
- Keep coverage at public API entry points; do not replace it with unit coverage
or direct internal-service testing.
- Do not increase the timeout or skip coverage.
- Keep each scenario independently isolated and cleanup-safe; do not make tests
depend on state created by another test.
- Preserve the existing lifecycle behavior. Runtime changes are out of scope
unless a focused reproduction demonstrates a product defect.
Acceptance criteria
- The oversized lifecycle scenario is reorganized into focused, independently
diagnosable integration tests that complete within the normal 5-second budget.
- Public-boundary coverage remains for discovery and access guards, input
validation and concurrent installation, direct-mutation guards,
reconfiguration, active and retired copy behavior, copy failure compensation,
uninstall, reinstall, and catalog retirement.
- Every new scenario owns its setup and cleanup and passes in repeated focused
runs without custom timeouts or skipped assertions.
- The complete Official Workflow test file and the CI-equivalent API shard pass.
- Relevant API formatting, linting, type checking, dependency analysis, and
tests pass.
Scope
This issue is intentionally separate from Runner GC PR #30093. It covers the
Official Workflow integration-test structure and any product defect proven while
making those public-boundary scenarios deterministic.
Problem and evidence
The Turbo
test-api (4)job for PR #30093 failed in an Official Workflowpublic-boundary integration test even though that PR contains no Turbo changes.
Observed job:
5c6e2f41f1248d03caf3723c8dd19c84314991e4The failing test is
installs, guards, reconfigures, retires, and uninstalls through public boundariesin
turbo/apps/api/src/signals/routes/__tests__/official-workflows.test.ts.It exceeded Vitest's default 5-second test limit and completed at 5.331 seconds.
The shard otherwise passed 409 tests.
Repository inspection shows that this is one roughly 990-line scenario containing
64 sequential awaited boundaries and about 60 route-client calls. At the timeout
boundary, the log had reached the expected late-stage copy-upload failure path, so
there is no evidence that one request, promise, or lifecycle phase failed to
settle. Focused runs have varied from 3.98 seconds to 5.177 seconds, while an
earlier CI run completed the same scenario in 2.156 seconds. The supported root
cause is cumulative integration-test work with insufficient margin under shard
contention, combined with a test boundary too coarse to identify the phase when a
real regression occurs.
Decision
Keep this issue and correct its scope: stabilize and improve the diagnostic
granularity of the Official Workflow lifecycle integration coverage. Do not treat
the failure as evidence of a product lifecycle race unless a focused test exposes
one.
Constraints
or direct internal-service testing.
depend on state created by another test.
unless a focused reproduction demonstrates a product defect.
Acceptance criteria
diagnosable integration tests that complete within the normal 5-second budget.
validation and concurrent installation, direct-mutation guards,
reconfiguration, active and retired copy behavior, copy failure compensation,
uninstall, reinstall, and catalog retirement.
runs without custom timeouts or skipped assertions.
tests pass.
Scope
This issue is intentionally separate from Runner GC PR #30093. It covers the
Official Workflow integration-test structure and any product defect proven while
making those public-boundary scenarios deterministic.