# Resource Group RU Sizing Boundary

<!-- auto-oncall-optimization-record
{
  "schemaVersion": "auto-oncall-optimization-record-v1",
  "optimizationId": "resource-group-ru-sizing-2026-08-14",
  "problems": [
    {
      "problemId": "resource-group-example-value-presented-without-production-sizing-boundary",
      "summary": "A Resource Group answer can repeat the documented RU_PER_SEC=500 syntax example without stating that it is not a production sizing recommendation or explaining the workload and isolation inputs needed to choose a value.",
      "status": "optimized_verified",
      "applicability": "Direct product-guidance answers that recommend or evaluate a Resource Group RU_PER_SEC value for TiDB Cloud or TiDB Self-Managed, especially when a documentation example is being considered as a production quota.",
      "issueKeys": ["ST-2891"],
      "sourceRefs": [
        "https://tidb.atlassian.net/browse/ST-2891#problem:resource-group-example-value-presented-without-production-sizing-boundary"
      ],
      "signalTextIncludesAny": [
        "ru_per_sec 500 is a production recommendation",
        "resource group answer omits workload sizing inputs",
        "tidb cloud answer recommends calibrate resource"
      ],
      "observedThrough": "2026-08-14",
      "effectiveAt": "2026-08-14T14:46:43Z",
      "verifiedAt": "2026-08-14T15:38:57Z",
      "attemptedAction": "Add one indexed Resource Group RU sizing topic that labels documentation values as syntax examples, requires workload demand, priority, isolation, and burst inputs, and preserves the TiDB Cloud CALIBRATE RESOURCE boundary.",
      "evidenceUrl": "https://tidb.atlassian.net/browse/ST-2891?focusedCommentId=23549042"
    }
  ]
}
-->

- Optimization ID: `resource-group-ru-sizing-2026-08-14`
- Owner: auto-oncall product knowledge consumed by Primary Analysis and the
  Scenario Router
- Source reference: `ST-2891`, customer-visible response and replay comparison
- Implementation status: deployed to staging in image `9ebd2d3e8160d5321c62749043a32b9eb471396f`
- Effective status: `optimized_verified`

## Bounded problem

ST-2891 asked how to choose an RU budget for a TiDB Cloud Resource Group. The
answer could repeat `RU_PER_SEC = 500` from documentation without preserving
the human response's critical boundary: that number demonstrates syntax and is
not a generally recommended production threshold. The incomplete answer also
omitted the workload demand, business priority, isolation target, and burst
policy needed to choose and validate a quota.

The existing `feature_usage_or_capability / direct_answer / provider=none`
route is correct. This is a reusable product-knowledge completeness problem,
not a response-format, Scenario classification, or Provider-access problem.

## Candidate change

- Add one searchable `tidb-resource-group-ru-sizing` topic for
  `RU_PER_SEC`, Resource Group, Chinese resource-group terms, `BURSTABLE`, and
  `CALIBRATE RESOURCE`.
- Identify documentation values such as `500` and `600` as syntax and behavior
  examples, not production recommendations.
- Base sizing guidance on observed normal and peak RU demand, business
  priority/QoS, the intended isolation or throttling boundary, and burst
  headroom, followed by controlled validation.
- Keep `CALIBRATE RESOURCE` limited to TiDB Self-Managed and do not recommend
  it for TiDB Cloud.

No product-specific fact is added to response-format or generic Primary
Analysis policy, and no diagnostic Scenario is added.

## Verification status

Focused source tests cover index recall using ST-2891-style Chinese terms, the
production-example caveat, every sizing dimension, `BURSTABLE`, the TiDB Cloud
`CALIBRATE RESOURCE` boundary, and the absence of these semantics from
response-format. PR `tidbcloud/aisupport#925` and app-delivery PR
`tidbcloud/app-delivery#77344` are merged. Staging Deployment
`auto-oncall-services` became Ready at `2026-08-14T14:46:43Z` with image
`9ebd2d3e8160d5321c62749043a32b9eb471396f`; `/healthz` and `/readyz` both
returned HTTP 200.

Two independent frozen-cutoff reads, runs
`fa41dc93-d67a-43ee-b4a1-ca9a4abe7d0c` and
`be00c1a4-618f-4dbd-8c3c-4f1125aa50bb`, both stated that the numeric value was
only a syntax example rather than a production recommendation and based sizing
on workload demand and isolation inputs. Their Judge verdicts were `ai_better`
and `equivalent`. Preservation run `5bbfef3c-7cbc-470c-b954-6ea6b2c48341`
for ST-2888 did not apply one universal value across six clusters.

Write run `1d4b9087-3cae-48ce-93b9-7ce56a032cd2` persisted DB run `150047`,
evaluation, and Feishu updates without errors and updated existing Jira
internal comment `23549042`. Direct Jira readback verified `public=false` and
the expected non-production-example and peak-RU boundaries. The bounded
problem is `optimized_verified`.

## Next validation action

Monitor later Resource Group evaluations for a newer matching regression; no
further action is required for the bounded ST-2891 problem.
