# Manus Independent Read Concurrency

<!-- auto-oncall-optimization-record
{
  "schemaVersion": "auto-oncall-optimization-record-v1",
  "optimizationId": "manus-independent-read-concurrency-2026-07-30",
  "problems": [
    {
      "problemId": "manus-provider-reads-unnecessarily-serialized",
      "summary": "The Manus transport contract serializes every provider and metric command, preventing independent bounded scenario agents from collecting orthogonal read-only evidence concurrently.",
      "status": "optimized_unverified",
      "issueKeys": [],
      "sourceRefs": [
        "https://github.com/tidbcloud/aisupport/tree/main/auto-oncall-services/docs/opts/2026-07-30-manus-independent-read-concurrency.md#problem:manus-provider-read-concurrency"
      ],
      "signalTextIncludesAny": [
        "manus independent read concurrency",
        "manus provider commands serially",
        "manus metric commands are serial",
        "manus concurrent scenario evidence"
      ],
      "observedThrough": "2026-07-30",
      "effectiveAt": "2026-07-30T16:02:20.000Z",
      "verifiedAt": null,
      "attemptedAction": "Allow independent Manus read-only queries to execute concurrently when each uses an exact target, exact instance when known, a narrow bounded window, bounded cardinality, and a unique query-specific output directory, while keeping dependent discovery and each timed-out PromQL retry sequential.",
      "evidenceUrl": "https://github.com/tidbcloud/aisupport/pull/563"
    }
  ]
}
-->

- Optimization ID: `manus-independent-read-concurrency-2026-07-30`
- Owner: auto-oncall-services
- Source type: Manus transport capability correction
- Applicability: canonical Account Alias `Manus`, exact target `vida` or
  `monica`, read-only provider queries only
- Implementation status: deployed to staging in revision `3efeb556`
- Effective status: `optimized_unverified`

## Bounded problem

The Manus skill contract required every provider and metric command to run
serially. That blanket restriction prevents independent scenario agents from
collecting orthogonal evidence concurrently even when their targets, windows,
queries, and output paths are already isolated. It is separate from the
historical timeout-recovery problem recorded on 2026-07-22.

## Candidate implementation

- Permit independent read-only Manus queries to run concurrently.
- Require every concurrent query to use the exact target, a narrow bounded
  window, the exact affected instance when known, bounded label cardinality,
  and a unique query-specific output directory.
- Keep dependency-ordered discovery and follow-up queries sequential.
- Preserve the 2026-07-22 bounded timeout recovery: one failed PromQL may retry
  once on the same target and query over the centered half-window, but the
  retry starts only after the original attempt fails and duplicate retries for
  that PromQL never run concurrently.
- Preserve exact datasource selection, credential isolation, read-only
  behavior, compact outputs, and high-cardinality limits.

## Verification evidence

- Contract tests require independent bounded reads to be concurrency-safe and
  reject the previous blanket serial wording.
- Contract tests preserve exact target/instance, narrow-window, unique-output,
  and sequential bounded-retry requirements.
- Local build and tests are implementation evidence only; they do not prove
  that the external Manus provider can currently serve concurrent traffic.

## Unresolved gaps

- Manus skill access and IP allowlisting are currently disabled outside this
  repository, so the deployed change cannot affect live diagnosis yet.
- The historical `2026-07-22-manus-metrics-timeout-recovery` record remains
  unchanged. Its verified timeout-recovery behavior is still required; only
  its former blanket serialization guidance is superseded for independent
  queries by this candidate.
- Completed historical Manus cases, including APID-29174, are source evidence
  only and will not be replayed for this concurrency change.

## Next validation action

After the external Manus skill and IP path is restored and this candidate is
deployed to staging, validate with a fresh/new Manus case or a bounded
synthetic staging run. Confirm independent narrow queries overlap, use
different output directories, retain exact target/instance/window boundaries,
and keep each timeout retry sequential before promoting this problem to
`optimized_verified`.
