openobserve/qa-reports
Neha P f5ee084651
ci(test-assist): batch dispatcher + qa-reports backlog sweep (#12963)
Follow-up tooling to
[#12946](https://github.com/openobserve/openobserve/pull/12946). Pairs
with the [ENT MCP-fixes
PR](https://github.com/openobserve/o2-enterprise/pull/2072) to complete
the loop from "engine works on one issue" → "batch of 100 fires in
parallel and lands verdicts in a reviewable table."

## Summary

- **`scripts/test-assist-ci-batch.sh`** — POSIX bash script that
dispatches the test-assist engine (in o2-enterprise) for a list of OSS
issues. Reads issue numbers from stdin or positional args. Supports
`--dry-run`, `--write-mode`, `--throttle`. Uses `gh workflow run` under
the maintainer's local `gh auth`. Each dispatch is fire-and-forget; the
engine's own concurrency group (`source_repo+issue`) enforces
one-run-per-issue-at-a-time.
- **`qa-reports/test-assist-ci-backlog-sweep.md`** — Roll-up table where
verdicts land after each batch. Documents the tier structure of the
priority-100 list, the verdict-to-action map (FIXED / STILL_PRESENT /
INCONCLUSIVE / SKIP), and the tier queries used to build the list. Table
starts empty; batches append rows.

## Usage

```bash
# One-shot: dispatch for a single issue
./scripts/test-assist-ci-batch.sh 12452

# Batch: dispatch for many issues in parallel (from stdin)
gh issue list --repo openobserve/openobserve --label "☢️ Bug" --label "Retested-Failed" --state open --limit 30 \
  --json number --jq '.[].number' \
  | ./scripts/test-assist-ci-batch.sh

# Dry-run to see what would fire (no dispatches)
./scripts/test-assist-ci-batch.sh --dry-run 12452 11700 12647

# Explicitly enable label+comment writes (only after soak calibration)
./scripts/test-assist-ci-batch.sh --write-mode < /tmp/batch.txt
```

## Interaction with the `Test-Assist-CI-Verified` label

The ENT engine ([PR
#2072](https://github.com/openobserve/o2-enterprise/pull/2072)) applies
the `Test-Assist-CI-Verified` label to each processed issue as factual
metadata (independent of `write_mode`). After a batch:

- [Filter checked
issues](https://github.com/openobserve/openobserve/issues?q=is%3Aissue+label%3A%22Test-Assist-CI-Verified%22)
→ the ones we've processed
- [Filter unchecked
issues](https://github.com/openobserve/openobserve/issues?q=is%3Aissue+is%3Aopen+label%3A%22%E2%98%A2%EF%B8%8F+Bug%22+-label%3A%22Test-Assist-CI-Verified%22)
→ the untouched backlog

## Test plan
- [ ] `bash -n scripts/test-assist-ci-batch.sh` — script parses
(verified locally)
- [ ] `./scripts/test-assist-ci-batch.sh --dry-run 12452` — prints "DRY:
would dispatch #12452"
- [ ] After ENT PR #2072 merges: fire a single-issue dispatch via the
script → confirm run appears in o2-enterprise Actions
- [ ] Fire the 100-issue batch → confirm verdicts populate the sweep
markdown

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-07-01 07:27:49 +00:00
..
test-assist-ci-backlog-sweep.md ci(test-assist): batch dispatcher + qa-reports backlog sweep (#12963) 2026-07-01 07:27:49 +00:00