Part of #572 (Phase 3) · tracking #568
Octokit-based domain client replacing gh api for PR commenting and status.
upsertComment: find the last Bot comment whose body contains the <!-- <identifier> --> marker; update in place, recreate (delete+create), or create new. Preserve the no-diff auto-delete path (Q6a).
addCheckRunSummary: PATCH check-runs/{jobId} title/summary (tolerant of missing checks: write) and write $GITHUB_STEP_SUMMARY.
findArtifactId(name) for the download flow.
Tests: upsert calls updateComment when marker exists, createComment when absent; check-run failure is swallowed.
Part of #572 (Phase 3) · tracking #568
Octokit-based domain client replacing
gh apifor PR commenting and status.upsertComment: find the last Bot comment whose body contains the<!-- <identifier> -->marker;updatein place,recreate(delete+create), or create new. Preserve the no-diff auto-delete path (Q6a).addCheckRunSummary: PATCHcheck-runs/{jobId}title/summary (tolerant of missingchecks: write) and write$GITHUB_STEP_SUMMARY.findArtifactId(name)for the download flow.Tests: upsert calls
updateCommentwhen marker exists,createCommentwhen absent; check-run failure is swallowed.