fix(a11y): preserve report focus and data contrast - #550
Conversation
|
Warning Review limit reached
Next review available in: 43 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
Comment |
|
@coderabbitai review @opencode-agent @cwl-noema-review Review exact head |
|
I will verify the scoped focus assertions, required reveal and outline declarations, absent peer opacity dimming, retained active-row cue, and standards wording. I will also assess the exact-head evidence and review state.
|
|
@opencode-agent @cwl-noema-review Final independent exact-head approval requested for |
|
@coderabbitai review Review exact current head |
🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
expected_head="8db4c235d466446429fc32bdeeef3ca1fdaa8827"
repo="ContextualWisdomLab/fast-mlsirm"
pr_number="550"
echo "== Checkout commit =="
git rev-parse HEAD
git status --short
git show -s --format='commit=%H%nparents=%P%nsubject=%s' HEAD
echo
echo "== Changed files against first parent =="
git diff-tree --no-commit-id --name-status -r HEAD
echo
git diff --stat HEAD^
echo
echo "== Complete exact-head diff =="
git diff --find-renames --find-copies --no-ext-diff HEAD^
echo
echo "== Candidate CSS, test, documentation, and changelog files =="
fd -t f . | rg -i '(^|/)(changelog|changes|release|history|readme)|\.(css|scss|sass|md|rst|py|ts|tsx|js|jsx)$' | head -n 500
echo
echo "== Exact focus, opacity, active-row, standards, APA, and render assertions in tracked files =="
rg -n -i -C 5 \
'skip-link|focus-visible|:focus\b|outline|opacity|active-row|active.*row|WCAG|Selectors Level 4|APA 7|render_diagnostics_report' \
$(git diff-tree --no-commit-id --name-only -r HEAD) || true
echo
echo "== PR metadata, review decisions, unresolved review threads, and checks =="
gh pr view "$pr_number" --repo "$repo" \
--json number,headRefOid,baseRefOid,files,reviewDecision,reviews,statusCheckRollup,comments \
--jq '{
number,
headRefOid,
baseRefOid,
reviewDecision,
files: [.files[] | {path, additions, deletions}],
reviews: [.reviews[] | {author: .author.login, state, submittedAt, commit: .commit.oid}],
checks: [.statusCheckRollup[] | {name, status, conclusion, workflowName, detailsUrl}]
}'
gh api graphql \
-F owner="ContextualWisdomLab" \
-F name="fast-mlsirm" \
-F number="$pr_number" \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
isOutdated
comments(first: 20) {
nodes {
author { login }
body
commit { oid }
path
line
}
}
}
}
}
}
}' --jq '.data.repository.pullRequest.reviewThreads.nodes[] |
select((.isResolved | not) and (.isOutdated | not)) |
{comments: [.comments.nodes[] | {author: .author.login, commit: .commit.oid, path, line, body}]}'Length of output: 30207 🏁 Script executed: #!/bin/bash
set -euo pipefail
base="84f3251e070a70298cd213627dc62bb13c4d9337"
head="8db4c235d466446429fc32bdeeef3ca1fdaa8827"
echo "== Merge base and complete PR commit range =="
merge_base=$(git merge-base "$base" "$head")
printf 'merge_base=%s\n' "$merge_base"
git log --oneline --reverse "${merge_base}..${head}"
echo
echo "== Full six-file diff against merge base =="
git diff --find-renames --find-copies --no-ext-diff "${merge_base}...${head}"
echo
echo "== Exact changed-file list =="
git diff --name-status "${merge_base}...${head}"
echo
echo "== Report generator outline =="
ast-grep outline python/fast_mlsirm/report.py --items all --view expanded
echo
echo "== CSS and report-rendering context =="
rg -n -C 12 \
'skip-link|bar-chart|bar-row|tbody.*hover|hover-bg|render_diagnostics_report|<style' \
python/fast_mlsirm/report.py
echo
echo "== Complete accessibility test =="
cat -n tests/test_report_focus_contrast.py
echo
echo "== Changelog and doctoring documents =="
cat -n CHANGELOG.md
printf '\n-- docs/changelog.d/diagnostics-report-focus-contrast.md --\n'
cat -n docs/changelog.d/diagnostics-report-focus-contrast.md
printf '\n-- docs/doctoring/diagnostics-report-focus-contrast.md --\n'
cat -n docs/doctoring/diagnostics-report-focus-contrast.md
printf '\n-- .Jules/palette.md --\n'
cat -n .Jules/palette.md
echo
echo "== Search the generated CSS template for prohibited and required forms =="
rg -n -C 3 \
'\.skip-link:focus|\.skip-link:focus-visible|\.bar-chart:hover \.bar-row:not\(:hover\)|tbody:hover tr:not\(:hover\)|tbody tr:hover|top: 0;|outline: 3px solid var\(--teal\);' \
python/fast_mlsirm/report.py tests/test_report_focus_contrast.pyLength of output: 201680 🏁 Script executed: #!/bin/bash
set -euo pipefail
base="84f3251e070a70298cd213627dc62bb13c4d9337"
head="8db4c235d466446429fc32bdeeef3ca1fdaa8827"
merge_base=$(git merge-base "$base" "$head")
echo "== Exact six-file patch, split by file =="
for path in \
.Jules/palette.md \
CHANGELOG.md \
docs/changelog.d/diagnostics-report-focus-contrast.md \
docs/doctoring/diagnostics-report-focus-contrast.md \
python/fast_mlsirm/report.py \
tests/test_report_focus_contrast.py
do
printf '\n===== %s =====\n' "$path"
git diff --no-ext-diff --unified=40 "${merge_base}...${head}" -- "$path"
done
echo
echo "== Complete relevant report stylesheet window =="
sed -n '535,845p' python/fast_mlsirm/report.py
echo
echo "== All report stylesheet opacity declarations and hover selectors =="
rg -n -C 4 '(opacity\s*:|:hover)' python/fast_mlsirm/report.py
echo
echo "== Current Unreleased fixed entries only =="
sed -n '1,180p' CHANGELOG.md
echo
echo "== Exact-head verification identity =="
git diff --quiet "$head" || { echo "worktree differs from requested head"; exit 1; }
git rev-parse HEAD
gh pr view 550 --repo ContextualWisdomLab/fast-mlsirm --json headRefOid,reviewDecision \
--jq '{headRefOid, reviewDecision}'Length of output: 43790
I verified exact head
The PR still has
|
|
@coderabbitai review @opencode-agent @cwl-noema-review Review exact current head |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ContextualWisdomLab/fast-mlsirm"
pr="550"
expected_head="8db4c235d466446429fc32bdeeef3ca1fdaa8827"
echo "== Exact head identity =="
printf 'checked_out='
git rev-parse HEAD
git show -s --format='subject=%s%nparents=%P' HEAD
gh pr view "$pr" --repo "$repo" \
--json headRefOid,baseRefOid,reviewDecision \
--jq '{headRefOid, baseRefOid, reviewDecision}'
if [[ "$(git rev-parse HEAD)" != "$expected_head" ]]; then
echo "ERROR: checked-out repository is not the requested head" >&2
exit 1
fi
if [[ "$(gh pr view "$pr" --repo "$repo" --json headRefOid --jq .headRefOid)" != "$expected_head" ]]; then
echo "ERROR: PR head is not the requested head" >&2
exit 1
fi
base="$(git merge-base HEAD HEAD^)"
printf '\n== Merge base ==\n%s\n' "$base"
printf '\n== Complete changed-file list ==\n'
git diff --name-status "$base...HEAD"
printf '\n== Complete diff ==\n'
git diff --no-ext-diff --find-renames --find-copies "$base...HEAD"
printf '\n== Report module outline ==\n'
ast-grep outline python/fast_mlsirm/report.py --items all --view expanded
printf '\n== Relevant report CSS and renderer context ==\n'
rg -n -C 12 \
'\.skip-link|\.bar-chart|\.bar-row|tbody|opacity\s*:|outline\s*:|top\s*:|render_diagnostics_report' \
python/fast_mlsirm/report.py
printf '\n== Focus/contrast regression test ==\n'
cat -n tests/test_report_focus_contrast.py
printf '\n== Changed changelog and standards documents ==\n'
for path in CHANGELOG.md docs/changelog.d/diagnostics-report-focus-contrast.md docs/doctoring/diagnostics-report-focus-contrast.md .Jules/palette.md; do
if [[ -f "$path" ]]; then
printf '\n----- %s -----\n' "$path"
cat -n "$path"
fi
done
printf '\n== Required and prohibited selector forms ==\n'
rg -n -C 4 \
'\.skip-link:focus|\.skip-link:focus-visible|\.bar-chart:hover \.bar-row:not\(:hover\)|tbody:hover tr:not\(:hover\)|tbody tr:hover|top:\s*0;|outline:\s*3px solid var\(--teal\)|opacity\s*:' \
python/fast_mlsirm/report.py tests/test_report_focus_contrast.py || true
printf '\n== Current checks and reviews ==\n'
gh pr view "$pr" --repo "$repo" \
--json reviews,statusCheckRollup \
--jq '{
reviews: [.reviews[] | {author: .author.login, state, submittedAt, commit: .commit.oid}],
checks: [.statusCheckRollup[] | {name, status, conclusion, workflowName}]
}'
printf '\n== Unresolved, current review threads ==\n'
gh api graphql \
-F owner="ContextualWisdomLab" \
-F name="fast-mlsirm" \
-F number="$pr" \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
isOutdated
comments(first: 20) {
nodes { author { login } commit { oid } path line body }
}
}
}
}
}
}' \
--jq '.data.repository.pullRequest.reviewThreads.nodes[]
| select((.isResolved | not) and (.isOutdated | not))
| {comments: [.comments.nodes[] | {author: .author.login, commit: .commit.oid, path, line, body}]}' || trueLength of output: 203126 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ContextualWisdomLab/fast-mlsirm"
pr="550"
head="8db4c235d466446429fc32bdeeef3ca1fdaa8827"
base="$(git merge-base HEAD HEAD^)"
echo "== Identity and exact changed files =="
git rev-parse HEAD
git diff --name-status "$base...$head"
echo
echo "== Exact patch for implementation and regression test =="
git diff --no-ext-diff --unified=30 "$base...$head" -- \
python/fast_mlsirm/report.py \
tests/test_report_focus_contrast.py
echo
echo "== Complete focus/contrast test =="
cat -n tests/test_report_focus_contrast.py
echo
echo "== Exact documentation additions =="
git diff --no-ext-diff --unified=20 "$base...$head" -- \
docs/changelog.d/diagnostics-report-focus-contrast.md \
docs/doctoring/diagnostics-report-focus-contrast.md \
CHANGELOG.md
echo
echo "== Requested workflow-run head identities =="
for run_id in 30990031266 30990031250 30990031309; do
gh run view "$run_id" --repo "$repo" --json databaseId,headSha,status,conclusion,name,workflowName \
--jq '{databaseId, headSha, status, conclusion, name, workflowName}'
done
echo
echo "== Current head checks with details URLs =="
gh pr view "$pr" --repo "$repo" --json headRefOid,statusCheckRollup,reviewDecision \
--jq '{
headRefOid,
reviewDecision,
checks: [.statusCheckRollup[]
| select(.conclusion == "SUCCESS")
| {name, workflowName, detailsUrl}]
}'
echo
echo "== Current submitted approvals =="
gh pr view "$pr" --repo "$repo" --json reviews \
--jq '[.reviews[] | select(.state == "APPROVED") | {author: .author.login, commit: .commit.oid, submittedAt}]'Length of output: 6738 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ContextualWisdomLab/fast-mlsirm"
pr="550"
head="8db4c235d466446429fc32bdeeef3ca1fdaa8827"
base="$(gh pr view "$pr" --repo "$repo" --json baseRefOid --jq .baseRefOid)"
merge_base="$(git merge-base "$base" "$head")"
echo "== Exact PR range =="
printf 'base=%s\nmerge_base=%s\nhead=%s\n' "$base" "$merge_base" "$head"
git log --oneline --reverse "$merge_base..$head"
git diff --name-status "$merge_base...$head"
echo
echo "== Complete PR patch for all expected files =="
git diff --no-ext-diff --unified=20 "$merge_base...$head" -- \
.Jules/palette.md \
CHANGELOG.md \
docs/changelog.d/diagnostics-report-focus-contrast.md \
docs/doctoring/diagnostics-report-focus-contrast.md \
python/fast_mlsirm/report.py \
tests/test_report_focus_contrast.py
echo
echo "== Exact workflow-run identities =="
for run_id in 30990031266 30990031250 30990031309; do
gh api "repos/$repo/actions/runs/$run_id" \
--jq '{id, head_sha, status, conclusion, name, path, event, html_url}'
done
echo
echo "== Current review decision and unresolved current threads =="
gh pr view "$pr" --repo "$repo" --json headRefOid,reviewDecision,reviews \
--jq '{headRefOid, reviewDecision, reviews: [.reviews[] | {author: .author.login, state, commit: .commit.oid}]}'
gh api graphql \
-F owner="ContextualWisdomLab" \
-F name="fast-mlsirm" \
-F number="$pr" \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
isOutdated
comments(first: 1) { nodes { commit { oid } path line } }
}
}
}
}
}' \
--jq '[.data.repository.pullRequest.reviewThreads.nodes[]
| select((.isResolved | not) and (.isOutdated | not))
| {comments: .comments.nodes}]'Length of output: 20872
I reviewed PR
The PR is still You are interacting with an AI system. |
|
This PR remains unmerged pending a valid central exact-head review. The repository's full pytest suite imports the compiled maturin/PyO3 module ContextualWisdomLab/.github#784 and draft PR #789 implement the bounded classification and exact-head peer-evidence foundation with no skipped tests, no Python substitute, and no weakened protection. Auto-merge remains enabled but must wait for central workflow integration and a fresh qualifying approval. |
There was a problem hiding this comment.
Pull request overview
OpenCode cannot approve yet because required coverage evidence did not pass.
Review outcome
1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
-
Problem: The required coverage-evidence job result was
failure, so OpenCode cannot establish approval sufficiency for this head. -
Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.
-
Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports
successwith required evidence or explicit no-source not-applicable evidence. -
Regression test: Keep the approval branch checking
needs.coverage-evidence.result == successbefore posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present. -
Result: REQUEST_CHANGES
-
Reason: coverage-evidence result was
failure, so required test/docstring evidence was not proven for current head8db4c235d466446429fc32bdeeef3ca1fdaa8827. -
Head SHA:
8db4c235d466446429fc32bdeeef3ca1fdaa8827 -
Workflow run: 31010818905
-
Workflow attempt: 1
Coverage evidence
Coverage evidence job did not run or did not publish coverage evidence.
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Changed file (3 files)"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Changed file (3 files)"]
R1 --> V1["required checks"]
Evidence --> S2["Docs (2 files)"]
S2 --> I2["operator or user guidance"]
I2 --> R2["Review risk: Docs (2 files)"]
R2 --> V2["docs review"]
Evidence --> S3["Test: test_report_focus_contrast.py"]
S3 --> I3["regression suite"]
I3 --> R3["Review risk: Test: test_report_focus_contrast.py"]
R3 --> V3["targeted test run"]
OpenCode Review Overview
Pull request overviewOpenCode cannot approve yet because required coverage evidence did not pass. Review outcome1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
Coverage evidenceCoverage evidence job did not run or did not publish coverage evidence. Changed-File Evidence Mapflowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Changed file (2 files)"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Changed file (2 files)"]
R1 --> V1["required checks"]
Evidence --> S2["Docs (2 files)"]
S2 --> I2["operator or user guidance"]
I2 --> R2["Review risk: Docs (2 files)"]
R2 --> V2["docs review"]
Evidence --> S3["Test: test_report_focus_contrast.py"]
S3 --> I3["regression suite"]
I3 --> R3["Review risk: Test: test_report_focus_contrast.py"]
R3 --> V3["targeted test run"]
|
Dismissed because it is anchored to predecessor head 8db4c23. Current head 2d0c6b6 removes only transient accessibility-journal drift, has fresh successful repository CI/SAST/Security and CodeRabbit status, and still requires a new exact-head OpenCode/Noema verdict plus independent approval before merge.
|
@coderabbitai review @cwl-noema-review Review exact current head |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ContextualWisdomLab/fast-mlsirm"
pr="550"
expected_head="2d0c6b636d9f05c222ed8b62ebfd7bc5e1fa5e5f"
echo "== Exact-head identity =="
printf 'checked_out='
git rev-parse HEAD
git show -s --format='subject=%s%nparents=%P' HEAD
gh pr view "$pr" --repo "$repo" \
--json headRefOid,baseRefOid,reviewDecision,files \
--jq '{headRefOid, baseRefOid, reviewDecision, files: [.files[] | {path, additions, deletions}]}'
if [[ "$(git rev-parse HEAD)" != "$expected_head" ]]; then
echo "ERROR: checked-out repository is not the requested head" >&2
exit 1
fi
if [[ "$(gh pr view "$pr" --repo "$repo" --json headRefOid --jq .headRefOid)" != "$expected_head" ]]; then
echo "ERROR: pull request head is not the requested head" >&2
exit 1
fi
base="$(gh pr view "$pr" --repo "$repo" --json baseRefOid --jq .baseRefOid)"
merge_base="$(git merge-base "$base" HEAD)"
printf '\n== Pull request range ==\nbase=%s\nmerge_base=%s\nhead=%s\n' "$base" "$merge_base" "$expected_head"
git log --oneline --reverse "$merge_base..HEAD"
printf '\n== Changed files ==\n'
git diff --name-status "$merge_base...HEAD"
printf '\n== Complete diff ==\n'
git diff --no-ext-diff --find-renames --find-copies "$merge_base...HEAD"
printf '\n== Report module outline ==\n'
ast-grep outline python/fast_mlsirm/report.py --items all --view expanded
printf '\n== Relevant CSS and renderer context ==\n'
rg -n -C 14 \
'\.skip-link|\.bar-chart|\.bar-row|tbody|opacity\s*:|outline\s*:|top\s*:|render_diagnostics_report' \
python/fast_mlsirm/report.py
printf '\n== Focus and contrast regression test ==\n'
cat -n tests/test_report_focus_contrast.py
printf '\n== Changelog and standards documents ==\n'
for path in CHANGELOG.md docs/changelog.d/diagnostics-report-focus-contrast.md docs/doctoring/diagnostics-report-focus-contrast.md; do
printf '\n----- %s -----\n' "$path"
cat -n "$path"
done
printf '\n== Required and prohibited selector forms ==\n'
rg -n -C 4 \
'\.skip-link:focus|\.skip-link:focus-visible|\.bar-chart:hover \.bar-row:not\(:hover\)|tbody:hover tr:not\(:hover\)|tbody tr:hover|top:\s*0;|outline:\s*3px solid var\(--teal\)|opacity\s*:' \
python/fast_mlsirm/report.py tests/test_report_focus_contrast.py || true
printf '\n== Cited workflow-run identity ==\n'
for run_id in 31077623565 31077623551 31077623533; do
gh api "repos/$repo/actions/runs/$run_id" \
--jq '{id, head_sha, status, conclusion, name, path, event, html_url}'
done
printf '\n== Current checks and submitted reviews ==\n'
gh pr view "$pr" --repo "$repo" --json statusCheckRollup,reviews \
--jq '{
checks: [.statusCheckRollup[] | {name, status, conclusion, workflowName, detailsUrl}],
reviews: [.reviews[] | {author: .author.login, state, submittedAt, commit: .commit.oid}]
}'
printf '\n== Unresolved current review threads ==\n'
gh api graphql \
-F owner="ContextualWisdomLab" \
-F name="fast-mlsirm" \
-F number="$pr" \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
isOutdated
comments(first: 20) {
nodes { author { login } commit { oid } path line body }
}
}
}
}
}
}' \
--jq '[.data.repository.pullRequest.reviewThreads.nodes[]
| select((.isResolved | not) and (.isOutdated | not))
| {comments: [.comments.nodes[] | {author: .author.login, commit: .commit.oid, path, line, body}]}]'Length of output: 203557 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ContextualWisdomLab/fast-mlsirm"
pr="550"
head="2d0c6b636d9f05c222ed8b62ebfd7bc5e1fa5e5f"
prior_head="8db4c235d466446429fc32bdeeef3ca1fdaa8827"
base="$(gh pr view "$pr" --repo "$repo" --json baseRefOid --jq .baseRefOid)"
merge_base="$(git merge-base "$base" "$head")"
echo "== Exact identity and pull request range =="
git rev-parse HEAD
printf 'merge_base=%s\n' "$merge_base"
git log --oneline --reverse "$merge_base..$head"
echo
echo "== Complete changed-file list for the pull request =="
git diff --name-status "$merge_base...$head"
echo
echo "== Delta from previously reviewed implementation head =="
git log --oneline --reverse "$prior_head..$head"
git diff --name-status "$prior_head...$head"
git diff --no-ext-diff --unified=20 "$prior_head...$head"
echo
echo "== Current implementation and test patch against pull request base =="
git diff --no-ext-diff --unified=20 "$merge_base...$head" -- \
python/fast_mlsirm/report.py \
tests/test_report_focus_contrast.py \
docs/changelog.d/diagnostics-report-focus-contrast.md \
docs/doctoring/diagnostics-report-focus-contrast.md \
CHANGELOG.mdLength of output: 19305
I reviewed PR
I did not modify the branch or merge the pull request. The central PyO3 native peer-evidence gate still requires a fresh qualifying review before approval. You are interacting with an AI system. |
|
@opencode-agent @cwl-noema-review Final independent exact-head review requested for |
There was a problem hiding this comment.
Pull request overview
OpenCode cannot approve yet because required coverage evidence did not pass.
Review outcome
1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
-
Problem: The required coverage-evidence job result was
failure, so OpenCode cannot establish approval sufficiency for this head. -
Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.
-
Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports
successwith required evidence or explicit no-source not-applicable evidence. -
Regression test: Keep the approval branch checking
needs.coverage-evidence.result == successbefore posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present. -
Result: REQUEST_CHANGES
-
Reason: coverage-evidence result was
failure, so required test/docstring evidence was not proven for current head2d0c6b636d9f05c222ed8b62ebfd7bc5e1fa5e5f. -
Head SHA:
2d0c6b636d9f05c222ed8b62ebfd7bc5e1fa5e5f -
Workflow run: 31092247808
-
Workflow attempt: 1
Coverage evidence
Coverage evidence job did not run or did not publish coverage evidence.
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Changed file (2 files)"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Changed file (2 files)"]
R1 --> V1["required checks"]
Evidence --> S2["Docs (2 files)"]
S2 --> I2["operator or user guidance"]
I2 --> R2["Review risk: Docs (2 files)"]
R2 --> V2["docs review"]
Evidence --> S3["Test: test_report_focus_contrast.py"]
S3 --> I3["regression suite"]
I3 --> R3["Review risk: Test: test_report_focus_contrast.py"]
R3 --> V3["targeted test run"]
|
@opencode-agent @cwl-noema-review @coderabbitai review Re-run the independent review on exact head |
🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ContextualWisdomLab/fast-mlsirm"
pr="550"
head="2d0c6b636d9f05c222ed8b62ebfd7bc5e1fa5e5f"
echo "== Exact-head identity =="
git rev-parse HEAD
git show -s --format='subject=%s%nparents=%P' HEAD
gh pr view "$pr" --repo "$repo" --json headRefOid,baseRefOid,reviewDecision \
--jq '{headRefOid, baseRefOid, reviewDecision}'
test "$(git rev-parse HEAD)" = "$head"
test "$(gh pr view "$pr" --repo "$repo" --json headRefOid --jq .headRefOid)" = "$head"
base="$(gh pr view "$pr" --repo "$repo" --json baseRefOid --jq .baseRefOid)"
merge_base="$(git merge-base "$base" "$head")"
echo
echo "== Complete PR range and changed files =="
printf 'merge_base=%s\n' "$merge_base"
git log --oneline --reverse "$merge_base..$head"
git diff --name-status "$merge_base...$head"
git diff --no-ext-diff --find-renames --find-copies "$merge_base...$head"
echo
echo "== Report module outline =="
ast-grep outline python/fast_mlsirm/report.py --items all --view expanded
echo
echo "== Relevant stylesheet and public renderer context =="
rg -n -C 14 \
'\.skip-link|\.bar-chart|\.bar-row|tbody|opacity\s*:|outline\s*:|top\s*:|render_diagnostics_report' \
python/fast_mlsirm/report.py
echo
echo "== Regression test =="
cat -n tests/test_report_focus_contrast.py
echo
echo "== Changed documentation and changelog =="
for path in CHANGELOG.md docs/changelog.d/diagnostics-report-focus-contrast.md docs/doctoring/diagnostics-report-focus-contrast.md; do
printf '\n----- %s -----\n' "$path"
cat -n "$path"
done
echo
echo "== Current central-workflow and coverage/docstring evidence =="
rg -n -i -C 5 \
'coverage|pytest|docstring|pyo3|maturin|opencode|central|evidence' \
.github tests python Cargo.toml pyproject.toml 2>/dev/null || true
echo
echo "== Cited workflow-run identity =="
for run_id in 31077623565 31077623551 31077623533; do
gh api "repos/$repo/actions/runs/$run_id" \
--jq '{id, head_sha, status, conclusion, name, path, event, html_url}'
done
echo
echo "== Current checks and reviews =="
gh pr view "$pr" --repo "$repo" --json statusCheckRollup,reviews \
--jq '{
checks: [.statusCheckRollup[] | {name, status, conclusion, workflowName, detailsUrl}],
reviews: [.reviews[] | {author: .author.login, state, submittedAt, commit: .commit.oid}]
}'
echo
echo "== Unresolved current review threads =="
gh api graphql \
-F owner="ContextualWisdomLab" \
-F name="fast-mlsirm" \
-F number="$pr" \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
isOutdated
comments(first: 20) {
nodes { author { login } commit { oid } path line body }
}
}
}
}
}
}' \
--jq '[.data.repository.pullRequest.reviewThreads.nodes[]
| select((.isResolved | not) and (.isOutdated | not))
| {comments: [.comments.nodes[] | {author: .author.login, commit: .commit.oid, path, line, body}]}]'Length of output: 203592 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ContextualWisdomLab/fast-mlsirm"
pr="550"
head="2d0c6b636d9f05c222ed8b62ebfd7bc5e1fa5e5f"
log="/tmp/coderabbit-shell-logs/shell-output-0ttEwf"
echo "== Exact-head review bodies =="
gh pr view "$pr" --repo "$repo" --json reviews \
--jq '.reviews[]
| select(.commit.oid == "'"$head"'")
| {author: .author.login, state, submittedAt, body}'
echo
echo "== Bounded source evidence from the first script =="
for section in \
"== Exact-head identity ==" \
"== Complete PR range and changed files ==" \
"== Relevant stylesheet and public renderer context ==" \
"== Regression test ==" \
"== Changed documentation and changelog =="; do
line="$(grep -nF "$section" "$log" | head -n1 | cut -d: -f1 || true)"
if [[ -n "$line" ]]; then
printf '\n----- %s -----\n' "$section"
sed -n "${line},$((line + 260))p" "$log"
fi
done
echo
echo "== Exact changed-file patch =="
base="$(gh pr view "$pr" --repo "$repo" --json baseRefOid --jq .baseRefOid)"
merge_base="$(git merge-base "$base" "$head")"
git diff --no-ext-diff --unified=30 "$merge_base...$head" -- \
python/fast_mlsirm/report.py \
tests/test_report_focus_contrast.py \
CHANGELOG.md \
docs/changelog.d/diagnostics-report-focus-contrast.md \
docs/doctoring/diagnostics-report-focus-contrast.md
echo
echo "== Central workflow job results and selected logs =="
for job_id in 92539109130 92539145746 92539386069; do
gh api "repos/$repo/actions/jobs/$job_id" \
--jq '{id, name, status, conclusion, started_at, completed_at, steps: [.steps[] | {name, status, conclusion}]}'
printf '\n-- job %s log matches --\n' "$job_id"
gh api "repos/$repo/actions/jobs/$job_id/logs" \
| rg -i -C 3 'coverage|docstring|pyo3|maturin|pytest|error|fail|pass|success|exact head' \
| tail -n 240 || true
doneLength of output: 94162
I found no actionable code or documentation issue in the PR patch.
I cannot approve this PR yet. The current successful OpenCode Review jobs do not execute coverage, test, or docstring checks. They only report delegation or preserve branch-protection status. Therefore, they do not replace the required substantive same-head coverage and docstring evidence. The current-head
|
|
@coderabbitai review @opencode-agent @cwl-noema-review Re-run the independent exact-head review for |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ContextualWisdomLab/fast-mlsirm"
pr="550"
head="2d0c6b636d9f05c222ed8b62ebfd7bc5e1fa5e5f"
echo "== Exact-head identity =="
git rev-parse HEAD
gh pr view "$pr" --repo "$repo" \
--json headRefOid,baseRefOid,reviewDecision,files \
--jq '{headRefOid, baseRefOid, reviewDecision, files: [.files[] | {path, additions, deletions}]}'
test "$(git rev-parse HEAD)" = "$head"
test "$(gh pr view "$pr" --repo "$repo" --json headRefOid --jq .headRefOid)" = "$head"
base="$(gh pr view "$pr" --repo "$repo" --json baseRefOid --jq .baseRefOid)"
merge_base="$(git merge-base "$base" "$head")"
echo "== Exact PR range =="
printf 'merge_base=%s\n' "$merge_base"
git log --oneline --reverse "$merge_base..$head"
git diff --name-status "$merge_base...$head"
git diff --no-ext-diff --unified=30 "$merge_base...$head" -- \
python/fast_mlsirm/report.py \
tests/test_report_focus_contrast.py \
CHANGELOG.md \
docs/changelog.d/diagnostics-report-focus-contrast.md \
docs/doctoring/diagnostics-report-focus-contrast.md
echo "== Relevant current source and test context =="
rg -n -C 12 \
'\.skip-link|\.bar-chart|\.bar-row|tbody|opacity\s*:|outline\s*:|top\s*:|render_diagnostics_report' \
python/fast_mlsirm/report.py tests/test_report_focus_contrast.py
cat -n tests/test_report_focus_contrast.py
for path in CHANGELOG.md docs/changelog.d/diagnostics-report-focus-contrast.md docs/doctoring/diagnostics-report-focus-contrast.md; do
echo "== $path =="
cat -n "$path"
done
echo "== Current exact-head checks and reviews =="
gh pr view "$pr" --repo "$repo" --json statusCheckRollup,reviews \
--jq '{
checks: [.statusCheckRollup[] | {name, workflowName, status, conclusion, detailsUrl}],
reviews: [.reviews[] | {author: .author.login, state, submittedAt, commit: .commit.oid, body}]
}'
echo "== Workflow runs for exact head =="
gh api "repos/$repo/actions/runs?head_sha=$head&per_page=100" \
--jq '.workflow_runs[] | {id, name, path, event, status, conclusion, created_at, updated_at, html_url}'
echo "== Central workflow configuration candidates =="
fd -t f .github | rg '(^|/)(.*opencode.*|.*central.*|.*coverage.*|.*test.*|.*ci.*)\.(ya?ml|json)$' \
| while IFS= read -r path; do
echo "--- $path ---"
rg -n -i -C 4 'coverage|docstring|pyo3|maturin|pytest|evidence|opencode|central' "$path" || true
done
echo "== Unresolved current review threads =="
gh api graphql \
-F owner="ContextualWisdomLab" -F name="fast-mlsirm" -F number="$pr" \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
isOutdated
comments(first: 20) {
nodes { author { login } commit { oid } path line body }
}
}
}
}
}
}' \
--jq '[.data.repository.pullRequest.reviewThreads.nodes[]
| select((.isResolved | not) and (.isOutdated | not))
| {comments: [.comments.nodes[] | {author: .author.login, commit: .commit.oid, path, line, body}]}]'Length of output: 203303 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ContextualWisdomLab/fast-mlsirm"
pr="550"
head="2d0c6b636d9f05c222ed8b62ebfd7bc5e1fa5e5f"
run="31077622677"
echo "== Exact implementation excerpts =="
rg -n -C 10 \
'\.skip-link:focus|\.skip-link:focus-visible|\.bar-chart:hover \.bar-row:not\(:hover\)|tbody:hover tr:not\(:hover\)|tbody tr:hover|top:\s*0;|outline:\s*3px solid var\(--teal\)|opacity\s*:' \
python/fast_mlsirm/report.py
echo "== Focus/contrast regression test =="
cat -n tests/test_report_focus_contrast.py
echo "== Exact patch summary =="
base="$(gh pr view "$pr" --repo "$repo" --json baseRefOid --jq .baseRefOid)"
merge_base="$(git merge-base "$base" "$head")"
git diff --no-ext-diff --unified=12 "$merge_base...$head" -- \
python/fast_mlsirm/report.py \
tests/test_report_focus_contrast.py \
docs/changelog.d/diagnostics-report-focus-contrast.md \
docs/doctoring/diagnostics-report-focus-contrast.md
echo "== Current central workflow definition =="
cat -n .github/workflows/opencode-review.yml
echo "== Successful central workflow jobs =="
gh api "repos/$repo/actions/runs/$run/jobs?per_page=100" \
--jq '.jobs[] | select(.id == 92539109130 or .id == 92539145746 or .id == 92539386069) |
{id, name, head_sha, status, conclusion, steps: [.steps[] | {name, status, conclusion}]}'
for job_id in 92539109130 92539145746 92539386069; do
echo "== Job $job_id evidence lines =="
gh api "repos/$repo/actions/jobs/$job_id/logs" \
| rg -i -C 5 \
'head|sha|coverage|pytest|test(s)? passed|docstring|pydocstyle|ruff|not applicable|unsupported|failure|error|success|approval' \
| tail -n 400 || true
done
echo "== Current unresolved review threads =="
gh api graphql \
-F owner="ContextualWisdomLab" -F name="fast-mlsirm" -F number="$pr" \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
isOutdated
comments(first: 20) {
nodes { author { login } commit { oid } path line body }
}
}
}
}
}
}' \
--jq '[.data.repository.pullRequest.reviewThreads.nodes[]
| select((.isResolved | not) and (.isOutdated | not))
| {comments: [.comments.nodes[] | {author: .author.login, commit: .commit.oid, path, line, body}]}]'Length of output: 15430 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ContextualWisdomLab/fast-mlsirm"
pr="550"
head="2d0c6b636d9f05c222ed8b62ebfd7bc5e1fa5e5f"
run="31077622677"
echo "== Central run identity =="
gh api "repos/$repo/actions/runs/$run" \
--jq '{id, head_sha, head_branch, path, event, status, conclusion, workflow_id}'
echo "Expected head: $head"
for job_id in 92539109130 92539145746 92539386069; do
echo "== Job metadata: $job_id =="
gh api "repos/$repo/actions/jobs/$job_id" \
--jq '{id, run_id, head_sha, name, status, conclusion, started_at, completed_at,
steps: [.steps[] | {name, status, conclusion}]}'
echo "== Job log: $job_id =="
gh api "repos/$repo/actions/jobs/$job_id/logs" \
| tail -n 1200
done
echo "== Workflow file resolved from the run path and default branch =="
workflow_path="$(gh api "repos/$repo/actions/runs/$run" --jq .path)"
default_branch="$(gh api "repos/$repo" --jq .default_branch)"
printf 'path=%s\ndefault_branch=%s\n' "$workflow_path" "$default_branch"
gh api "repos/$repo/contents/$workflow_path?ref=$default_branch" --jq .content \
| base64 --decode \
| cat -n
echo "== Unresolved current review threads =="
gh api graphql \
-F owner="ContextualWisdomLab" -F name="fast-mlsirm" -F number="$pr" \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
isOutdated
comments(first: 20) {
nodes { author { login } commit { oid } path line body }
}
}
}
}
}
}' \
--jq '[.data.repository.pullRequest.reviewThreads.nodes[]
| select((.isResolved | not) and (.isOutdated | not))
| {comments: [.comments.nodes[] | {author: .author.login, commit: .commit.oid, path, line, body}]}]'Length of output: 3240
The exact head is
I cannot submit a superseding approval. Central run The required current coverage and docstring evidence is therefore not established. The existing You are interacting with an AI system. |
There was a problem hiding this comment.
Pull request overview
OpenCode cannot approve yet because required coverage evidence did not pass.
Review outcome
1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
-
Problem: The required coverage-evidence job result was
failure, so OpenCode cannot establish approval sufficiency for this head. -
Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.
-
Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports
successwith required evidence or explicit no-source not-applicable evidence. -
Regression test: Keep the approval branch checking
needs.coverage-evidence.result == successbefore posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present. -
Result: REQUEST_CHANGES
-
Reason: coverage-evidence result was
failure, so required test/docstring evidence was not proven for current head2d0c6b636d9f05c222ed8b62ebfd7bc5e1fa5e5f. -
Head SHA:
2d0c6b636d9f05c222ed8b62ebfd7bc5e1fa5e5f -
Workflow run: 31092247808
-
Workflow attempt: 2
Coverage evidence
Coverage evidence job did not run or did not publish coverage evidence.
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Changed file (2 files)"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Changed file (2 files)"]
R1 --> V1["required checks"]
Evidence --> S2["Docs (2 files)"]
S2 --> I2["operator or user guidance"]
I2 --> R2["Review risk: Docs (2 files)"]
R2 --> V2["docs review"]
Evidence --> S3["Test: test_report_focus_contrast.py"]
S3 --> I3["regression suite"]
I3 --> R3["Review risk: Test: test_report_focus_contrast.py"]
R3 --> V3["targeted test run"]
|
@opencode-agent @cwl-noema-review Re-run the independent exact-head review for |
|
@coderabbitai review Please review exact current head |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ContextualWisdomLab/fast-mlsirm"
pr="550"
head="2d0c6b636d9f05c222ed8b62ebfd7bc5e1fa5e5f"
echo "== Exact head =="
git rev-parse HEAD
gh pr view "$pr" --repo "$repo" --json headRefOid,baseRefOid,reviewDecision \
--jq '{headRefOid, baseRefOid, reviewDecision}'
test "$(git rev-parse HEAD)" = "$head"
test "$(gh pr view "$pr" --repo "$repo" --json headRefOid --jq .headRefOid)" = "$head"
base="$(gh pr view "$pr" --repo "$repo" --json baseRefOid --jq .baseRefOid)"
merge_base="$(git merge-base "$base" "$head")"
echo "== Changed files and complete patch =="
git diff --name-status "$merge_base...$head"
git diff --no-ext-diff --unified=25 "$merge_base...$head" -- \
python/fast_mlsirm/report.py \
tests/test_report_focus_contrast.py \
CHANGELOG.md \
docs/changelog.d/diagnostics-report-focus-contrast.md \
docs/doctoring/diagnostics-report-focus-contrast.md
echo "== Report CSS and renderer context =="
rg -n -C 12 \
'\.skip-link|\.bar-chart|\.bar-row|tbody|opacity\s*:|outline\s*:|top\s*:|render_diagnostics_report' \
python/fast_mlsirm/report.py tests/test_report_focus_contrast.py
echo "== Focus/contrast regression test =="
cat -n tests/test_report_focus_contrast.py
echo "== Doctoring and changelog =="
for path in CHANGELOG.md docs/changelog.d/diagnostics-report-focus-contrast.md docs/doctoring/diagnostics-report-focus-contrast.md; do
printf '\n----- %s -----\n' "$path"
cat -n "$path"
done
echo "== Current exact-head checks and reviews =="
gh pr view "$pr" --repo "$repo" --json statusCheckRollup,reviews \
--jq '{
checks: [.statusCheckRollup[] | {name, workflowName, status, conclusion, detailsUrl}],
reviews: [.reviews[] | {author: .author.login, state, submittedAt, commit: .commit.oid}]
}'
echo "== Unresolved current review threads =="
gh api graphql \
-F owner="ContextualWisdomLab" -F name="fast-mlsirm" -F number="$pr" \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
isOutdated
comments(first: 20) {
nodes { author { login } commit { oid } path line body }
}
}
}
}
}
}' \
--jq '[.data.repository.pullRequest.reviewThreads.nodes[]
| select((.isResolved | not) and (.isOutdated | not))
| {comments: [.comments.nodes[] | {author: .author.login, commit: .commit.oid, path, line, body}]}]'Length of output: 202520 🏁 Script executed: #!/bin/bash
set -euo pipefail
log="/tmp/coderabbit-shell-logs/shell-output-pligHV"
echo "== Exact head and changed-file section from prior report =="
sed -n '1,420p' "$log"
echo "== Exact report stylesheet rules =="
rg -n -A16 -B8 \
'\.skip-link:focus|\.bar-chart:hover \.bar-row:not\(:hover\)|tbody:hover tr:not\(:hover\)|tbody tr:hover' \
python/fast_mlsirm/report.py
echo "== Focus regression test =="
cat -n tests/test_report_focus_contrast.py
echo "== Required and prohibited generated stylesheet forms =="
rg -n -C3 \
'\.skip-link:focus|\.skip-link:focus-visible|top:\s*0;|outline:\s*3px solid var\(--teal\)|\.bar-chart:hover \.bar-row:not\(:hover\)|tbody:hover tr:not\(:hover\)|opacity\s*:' \
python/fast_mlsirm/report.py tests/test_report_focus_contrast.pyLength of output: 26809
I reviewed exact head
I did not modify the branch or merge state. Existing review decisions, branch protection, and independent approval remain authoritative. You are interacting with an AI system. |
|
@opencode-agent review Re-evaluate the live exact current head under the repaired central coverage contract. Verify keyboard focus disclosure, visible outline, retained chart/table data ink, absence of peer dimming, conservative standards wording, APA 7 doctoring, and authoritative changelog evidence. Submit a formal current-head verdict only; do not mutate or merge. |
🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ContextualWisdomLab/fast-mlsirm"
pr="550"
echo "== Current pull request identity =="
git rev-parse HEAD
gh pr view "$pr" --repo "$repo" \
--json headRefOid,baseRefOid,reviewDecision,files,statusCheckRollup,reviews \
--jq '{
headRefOid,
baseRefOid,
reviewDecision,
files: [.files[] | {path, additions, deletions}],
checks: [.statusCheckRollup[] | {name, workflowName, status, conclusion, detailsUrl}],
reviews: [.reviews[] | {author: .author.login, state, submittedAt, commit: .commit.oid}]
}'
head="$(gh pr view "$pr" --repo "$repo" --json headRefOid --jq .headRefOid)"
base="$(gh pr view "$pr" --repo "$repo" --json baseRefOid --jq .baseRefOid)"
merge_base="$(git merge-base "$base" "$head")"
test "$(git rev-parse HEAD)" = "$head"
printf '\n== Exact pull request range ==\nbase=%s\nmerge_base=%s\nhead=%s\n' "$base" "$merge_base" "$head"
git log --oneline --reverse "$merge_base..$head"
git diff --name-status "$merge_base...$head"
git diff --no-ext-diff --unified=28 "$merge_base...$head" -- \
python/fast_mlsirm/report.py \
tests/test_report_focus_contrast.py \
CHANGELOG.md \
docs/changelog.d/diagnostics-report-focus-contrast.md \
docs/doctoring/diagnostics-report-focus-contrast.md
printf '\n== Report module outline ==\n'
ast-grep outline python/fast_mlsirm/report.py --items all --view expanded
printf '\n== Relevant stylesheet and renderer context ==\n'
rg -n -C 14 \
'\.skip-link|\.bar-chart|\.bar-row|tbody|opacity\s*:|outline\s*:|top\s*:|render_diagnostics_report' \
python/fast_mlsirm/report.py tests/test_report_focus_contrast.py
printf '\n== Focus and contrast regression test ==\n'
cat -n tests/test_report_focus_contrast.py
printf '\n== Doctoring and changelog evidence ==\n'
for path in CHANGELOG.md docs/changelog.d/diagnostics-report-focus-contrast.md docs/doctoring/diagnostics-report-focus-contrast.md; do
printf '\n----- %s -----\n' "$path"
cat -n "$path"
done
printf '\n== Central-workflow configuration candidates ==\n'
fd -t f .github | rg -i '(^|/)(.*opencode.*|.*central.*|.*coverage.*|.*test.*|.*ci.*)\.(ya?ml|json)$' \
| while IFS= read -r path; do
printf '\n----- %s -----\n' "$path"
rg -n -i -C 5 'coverage|docstring|pyo3|maturin|pytest|evidence|opencode|central' "$path" || true
done
printf '\n== Workflow runs for the current head ==\n'
gh api "repos/$repo/actions/runs?head_sha=$head&per_page=100" \
--jq '.workflow_runs[] | {id, name, path, event, status, conclusion, created_at, updated_at, html_url}'
printf '\n== Successful current-head central job metadata and evidence ==\n'
gh api "repos/$repo/actions/runs?head_sha=$head&per_page=100" --jq -r \
'.workflow_runs[]
| select(.conclusion == "success")
| select((.name + " " + .path | ascii_downcase) | test("opencode|central|coverage|test"))
| .id' \
| while IFS= read -r run_id; do
printf '\n----- run %s -----\n' "$run_id"
gh api "repos/$repo/actions/runs/$run_id" \
--jq '{id, head_sha, name, path, status, conclusion, html_url}'
gh api "repos/$repo/actions/runs/$run_id/jobs?per_page=100" \
--jq '.jobs[] | {id, name, head_sha, status, conclusion, steps: [.steps[] | {name, status, conclusion}]}' || true
done
printf '\n== Unresolved current review threads ==\n'
gh api graphql \
-F owner="ContextualWisdomLab" -F name="fast-mlsirm" -F number="$pr" \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
isOutdated
comments(first: 20) {
nodes { author { login } commit { oid } path line body }
}
}
}
}
}
}' \
--jq '[.data.repository.pullRequest.reviewThreads.nodes[]
| select((.isResolved | not) and (.isOutdated | not))
| {comments: [.comments.nodes[] | {author: .author.login, commit: .commit.oid, path, line, body}]}]'Length of output: 204180 🏁 Script executed: #!/bin/bash
set -uo pipefail
repo="ContextualWisdomLab/fast-mlsirm"
pr="550"
head="$(gh pr view "$pr" --repo "$repo" --json headRefOid --jq .headRefOid)"
base="$(gh pr view "$pr" --repo "$repo" --json baseRefOid --jq .baseRefOid)"
merge_base="$(git merge-base "$base" "$head")"
echo "== Exact current head =="
printf 'checked_out=%s\napi_head=%s\nbase=%s\nmerge_base=%s\n' \
"$(git rev-parse HEAD)" "$head" "$base" "$merge_base"
test "$(git rev-parse HEAD)" = "$head"
echo "== Changed files =="
git diff --name-status "$merge_base...$head"
echo "== Exact CSS rules =="
rg -n -A14 -B6 \
'\.skip-link:focus|\.bar-chart:hover \.bar-row:not\(:hover\)|tbody:hover tr:not\(:hover\)|tbody tr:hover' \
python/fast_mlsirm/report.py || true
echo "== All opacity declarations in report stylesheet =="
rg -n -C2 'opacity\s*:' python/fast_mlsirm/report.py || true
echo "== Regression test =="
cat -n tests/test_report_focus_contrast.py
echo "== Current successful workflow runs =="
gh api "repos/$repo/actions/runs?head_sha=$head&per_page=100" \
--jq '.workflow_runs[]
| select(.conclusion == "success")
| {id, name, path, event, head_sha, conclusion, html_url}'
echo "== Current-head job steps with coverage or docstring names =="
gh api "repos/$repo/actions/runs?head_sha=$head&per_page=100" --jq -r \
'.workflow_runs[] | select(.conclusion == "success") | .id' \
| while IFS= read -r run_id; do
gh api "repos/$repo/actions/runs/$run_id/jobs?per_page=100" \
--jq --arg run_id "$run_id" '
.jobs[]
| select(
((.name + " " + ([.steps[].name] | join(" "))) | ascii_downcase)
| test("coverage|docstring|pytest|pyo3|maturin|central|opencode")
)
| {run_id: $run_id, id, name, head_sha, conclusion,
steps: [.steps[] | {name, conclusion}]}
' || true
done
echo "== Logs from successful jobs that name coverage or docstrings =="
gh api "repos/$repo/actions/runs?head_sha=$head&per_page=100" --jq -r \
'.workflow_runs[] | select(.conclusion == "success") | .id' \
| while IFS= read -r run_id; do
gh api "repos/$repo/actions/runs/$run_id/jobs?per_page=100" \
--jq -r '
.jobs[]
| select(
((.name + " " + ([.steps[].name] | join(" "))) | ascii_downcase)
| test("coverage|docstring")
)
| .id
' \
| while IFS= read -r job_id; do
echo "--- job=$job_id run=$run_id ---"
gh api "repos/$repo/actions/jobs/$job_id/logs" \
| rg -i -C3 'coverage|pytest|passed|failed|docstring|pydocstyle|ruff|maturin|pyo3|head_sha|2d0c6b' \
| tail -n 180 || true
done
done
echo "== Unresolved current review threads =="
gh api graphql \
-F owner="ContextualWisdomLab" -F name="fast-mlsirm" -F number="$pr" \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
isOutdated
comments(first:20) {
nodes { author { login } commit { oid } path line body }
}
}
}
}
}
}' \
--jq '[.data.repository.pullRequest.reviewThreads.nodes[]
| select((.isResolved | not) and (.isOutdated | not))
| {comments: [.comments.nodes[] | {author: .author.login, commit: .commit.oid, path, line, body}]}]'Length of output: 10167 🏁 Script executed: #!/bin/bash
set -uo pipefail
repo="ContextualWisdomLab/fast-mlsirm"
head="2d0c6b636d9f05c222ed8b62ebfd7bc5e1fa5e5f"
ci_run="31077623565"
central_run="31077622677"
echo "== Exact workflow identities =="
for run_id in "$ci_run" "$central_run"; do
gh api "repos/$repo/actions/runs/$run_id" \
--jq '{id, head_sha, name, path, event, status, conclusion, html_url}'
done
echo "== Current workflow definitions =="
for path in .github/workflows/ci.yml .github/workflows/opencode-review.yml; do
echo "--- $path ---"
if test -f "$path"; then
cat -n "$path"
else
echo "not present at checked-out head"
fi
done
echo "== All CI job steps =="
gh api "repos/$repo/actions/runs/$ci_run/jobs?per_page=100" \
--jq '.jobs[] | {
id, name, head_sha, status, conclusion,
steps: [.steps[] | {name, status, conclusion}]
}'
echo "== CI log evidence for test, coverage, and docstrings =="
gh api "repos/$repo/actions/runs/$ci_run/jobs?per_page=100" --jq -r '.jobs[].id' \
| while IFS= read -r job_id; do
echo "--- CI job $job_id ---"
gh api "repos/$repo/actions/jobs/$job_id/logs" \
| rg -i -C3 \
'pytest|passed|failed|coverage|cov(erage)? report|docstring|pydocstyle|ruff|maturin|pyo3|2d0c6b636d9f05c222ed8b62ebfd7bc5e1fa5e5f' \
| tail -n 240 || true
done
echo "== All central-workflow job steps =="
gh api "repos/$repo/actions/runs/$central_run/jobs?per_page=100" \
--jq '.jobs[] | {
id, name, head_sha, status, conclusion,
steps: [.steps[] | {name, status, conclusion}]
}'
echo "== Central workflow log evidence =="
gh api "repos/$repo/actions/runs/$central_run/jobs?per_page=100" --jq -r '.jobs[].id' \
| while IFS= read -r job_id; do
echo "--- central job $job_id ---"
gh api "repos/$repo/actions/jobs/$job_id/logs" \
| rg -i -C3 \
'pytest|passed|failed|coverage|cov(erage)? report|docstring|pydocstyle|ruff|maturin|pyo3|2d0c6b636d9f05c222ed8b62ebfd7bc5e5f|2d0c6b636d9f05c222ed8b62ebfd7bc5e1fa5e5f' \
| tail -n 240 || true
doneLength of output: 20729
I reviewed exact head
The repaired central coverage contract is not demonstrated by central run I did not modify or merge the branch. A qualifying approval requires substantive current-head central coverage and docstring evidence.
|
|
@opencode-agent address Continue on the existing branch and resolve every exact-current-head review/check failure in place. Preserve the Rust-first GPU plus CPU-multithreaded, low-context-switching computation boundary; realistic RMSE/true-parameter recovery, multilevel/multiple-membership, and temporal-model tests; Python 3.14; 100% production statement/branch coverage and public docstrings; security/SBOM/provenance gates; APA 7 doctoring; and CHANGELOG/version discipline. After the central |
Buyer-visible outcome
Replace automation-owned PR #548 with a maintainer-owned exact branch so review fixes and exact-head evidence cannot be discarded by branch rewrites.
Diagnostics reports retain readable data while users inspect a chart or table row, and the visually hidden skip-navigation link is revealed whenever it actually receives focus.
Change
.skip-linkon:focusas well as:focus-visiblewhile retaining the strong visible outline;Verification
render_diagnostics_reportentry point;top: 0and the expected outline;No Figma change is required because the bounded repair preserves layout, tokens, information architecture, and interaction structure.
Supersedes #548 after this PR is open. No release is included.