fix: make asynchronous viewer actions accessible and nested-safe - #264
fix: make asynchronous viewer actions accessible and nested-safe#264seonghobae wants to merge 18 commits into
Conversation
|
Warning Review limit reached
Next review available in: 2 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: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (8)
Comment |
|
@coderabbitai review @opencode-agent @cwl-noema-review Please independently review exact current head |
|
I will check the busy-state contract, DOM and ARIA restoration, accessible names, test coverage, and required repository checks. I will not approve the pull request until the exact-head checks and required protections are complete and clean.
|
|
@coderabbitai review |
|
@opencode-agent Please independently review exact current head |
|
|
@cwl-noema-review Please independently review exact current head |
|
@coderabbitai review @opencode-agent @cwl-noema-review Please independently review exact current head |
|
|
|
@opencode-agent @cwl-noema-review Please independently review exact current head |
|
@coderabbitai review @opencode-agent @cwl-noema-review Please independently 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
expected='734a72686f5671f757cd9f2a6e1fec0ecc93d1fe'
printf '%s\n' '== Local commit and changed files =='
git rev-parse HEAD
git diff --name-status "${expected}^" "${expected}"
git diff --stat "${expected}^" "${expected}"
printf '%s\n' '== JavaScript and build/workflow candidates =='
fd -t f . | rg '(^|/)(dom-utils\.js|.*dom.*test.*\.(js|mjs|cjs)|pom\.xml|CHANGELOG.*|.*journal.*|.*accessib.*|.*\.ya?ml)$' || true
printf '%s\n' '== Source outlines =='
while IFS= read -r f; do
case "$f" in
*.js|*.mjs|*.cjs)
echo "--- $f"
ast-grep outline "$f" --items all || true
;;
esac
done < <(git diff --name-only "${expected}^" "${expected}" | rg '\.(js|mjs|cjs)$' || true)
printf '%s\n' '== Changed diff =='
git diff --find-renames --find-copies "${expected}^" "${expected}"
printf '%s\n' '== GitHub PR, checks, and protection metadata =='
gh pr view 264 --repo ContextualWisdomLab/clearfolio --json number,headRefOid,baseRefName,state,isDraft,mergeStateStatus,reviewDecision,statusCheckRollup,url
gh api 'repos/ContextualWisdomLab/clearfolio/commits/734a72686f5671f757cd9f2a6e1fec0ecc93d1fe/check-runs?per_page=100' \
--jq '.check_runs[] | [.name,.status,.conclusion,.details_url] | `@tsv`' || true
gh api 'repos/ContextualWisdomLab/clearfolio/branches/main/protection' || trueLength of output: 2177 🏁 Script executed: #!/bin/bash
set -u
repo='ContextualWisdomLab/clearfolio'
sha='734a72686f5671f757cd9f2a6e1fec0ecc93d1fe'
echo '== Pull request metadata =='
gh pr view 264 --repo "$repo" --json number,headRefOid,baseRefName,baseRefOid,state,isDraft,mergeStateStatus,reviewDecision,statusCheckRollup,url || true
echo '== Pull request file list =='
gh pr diff 264 --repo "$repo" --name-only || true
echo '== Merge base and full pull request changed files =='
base="$(git merge-base HEAD origin/main 2>/dev/null || true)"
printf 'merge-base=%s\n' "$base"
if [ -n "$base" ]; then
git diff --name-status "$base" HEAD
fi
echo '== dom-utils.js outline and content =='
ast-grep outline src/main/resources/static/assets/viewer/dom-utils.js --items all || true
nl -ba src/main/resources/static/assets/viewer/dom-utils.js | sed -n '1,320p' || true
echo '== Node DOM test content =='
nl -ba src/test/js/dom-utils.test.mjs | sed -n '1,420p' || true
echo '== Maven Node test and coverage configuration =='
rg -n -C 12 'dom-utils|node|coverage|nyc|c8|exec-maven|frontend' pom.xml || true
echo '== CI Node setup configuration =='
nl -ba .github/workflows/ci.yml | sed -n '1,260p' || true
echo '== Production consumers and accessible action labels =='
rg -n -C 8 'setBusy|busy|Details|Status JSON|Open viewer|aria-label|disabled' src/main/resources/static || true
echo '== Changelog and accessibility documentation changes from merge base =='
if [ -n "$base" ]; then
git diff --unified=40 "$base" HEAD -- CHANGELOG.md docs || true
fiLength of output: 45940 🏁 Script executed: #!/bin/bash
set -u
repo='ContextualWisdomLab/clearfolio'
base='8e2d36f260395dbd0304abc503d8bd15ffcf8dab'
head='734a72686f5671f757cd9f2a6e1fec0ecc93d1fe'
echo '== Complete helper implementation =='
sed -n '1,180p' src/main/resources/static/assets/viewer/dom-utils.js || true
echo '== Complete executable Node DOM test =='
sed -n '1,460p' src/test/js/dom-utils.test.mjs || true
echo '== Relevant production consumer implementation =='
sed -n '100,155p' src/main/resources/static/assets/viewer/demo.js || true
sed -n '250,520p' src/main/resources/static/assets/viewer/demo.js || true
echo '== Complete CI workflow =='
sed -n '1,300p' .github/workflows/ci.yml || true
echo '== Focused base-to-head diffs =='
git diff --check "$base" "$head" || true
git diff --unified=20 "$base" "$head" -- \
.github/workflows/ci.yml pom.xml \
src/main/resources/static/assets/viewer/demo.js \
src/main/resources/static/assets/viewer/dom-utils.js \
src/test/js/dom-utils.test.mjs || true
echo '== Pin format checks =='
rg -n -P 'uses:\s*actions/setup-node@|node-version:|node-version-file:' .github/workflows/ci.yml || true
echo '== Required reviews and branch protection =='
gh pr view 264 --repo "$repo" --json latestReviews,reviewRequests,reviewDecision,mergeStateStatus || true
gh api "repos/$repo/branches/main/protection" || true
gh api "repos/$repo/rules/branches/main" || trueLength of output: 57297
Blocking finding: Apply I verified the shared WeakMap helper, exact DOM/ARIA restoration, node identity preservation, inert text handling, Node 24 full-SHA pin, Maven coverage thresholds, and successful exact-head checks. I did not approve because this blocker remains. GitHub also reports You are interacting with an AI system. |
This branch has been superseded by a cleaner replacement PR (#264). No further work will be performed on this branch.
|
@coderabbitai review @opencode-agent @cwl-noema-review Please independently 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/clearfolio'
sha='347203d5dc7b6bd4a53877f322bbaba28acb527f'
echo '== Exact head and PR metadata =='
printf 'local HEAD: '; git rev-parse HEAD
git show -s --format='commit: %H%nparents: %P%nsubject: %s' "$sha"
gh pr view 264 --repo "$repo" \
--json number,url,state,isDraft,headRefOid,baseRefName,baseRefOid,mergeStateStatus,reviewDecision,statusCheckRollup,latestReviews
echo '== Pull request diff summary =='
base="$(git merge-base "$sha" origin/main)"
printf 'merge-base: %s\n' "$base"
git diff --check "$base" "$sha"
git diff --name-status "$base" "$sha"
echo '== Relevant source outlines =='
ast-grep outline src/main/resources/static/assets/viewer/dom-utils.js --items all
ast-grep outline src/main/resources/static/assets/viewer/demo.js --items all
ast-grep outline src/test/js/dom-utils.test.mjs --items all
echo '== Busy helper =='
nl -ba src/main/resources/static/assets/viewer/dom-utils.js | sed -n '1,260p'
echo '== Viewer consumers and accessible labels =='
rg -n -C 10 -P '\b(setBusyState|openJsonDocument|openViewer|Details|Status JSON|Open viewer|aria-label|aria-busy|disabled)\b' \
src/main/resources/static/assets/viewer/demo.js
echo '== DOM helper tests and test-double semantics =='
rg -n -C 10 -P '(textContent|childNodes|replaceChildren|setBusyState|nested|restore|aria-busy|aria-label|disabled)' \
src/test/js/dom-utils.test.mjs
echo '== Maven test and coverage configuration =='
rg -n -C 12 -P '(dom-utils|node|c8|coverage|line|branch|function|exec-maven)' pom.xml
echo '== Node setup pin =='
rg -n -C 4 -P '(actions/setup-node@|node-version:)' .github/workflows/ci.yml
echo '== Documentation changes =='
git diff --unified=20 "$base" "$sha" -- CHANGELOG.md docs
echo '== Exact-commit checks =='
gh api "repos/$repo/commits/$sha/check-runs?per_page=100" --paginate \
--jq '.check_runs[] | [.name, .status, .conclusion, .details_url] | `@tsv`'
echo '== Branch protection and rules =='
gh api "repos/$repo/branches/main/protection" || true
gh api "repos/$repo/rules/branches/main" || trueLength of output: 15907 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo='ContextualWisdomLab/clearfolio'
sha='347203d5dc7b6bd4a53877f322bbaba28acb527f'
base='8e2d36f260395dbd0304abc503d8bd15ffcf8dab'
echo '== Helper implementation =='
sed -n '1,180p' src/main/resources/static/assets/viewer/dom-utils.js
echo '== Async viewer actions =='
sed -n '75,150p' src/main/resources/static/assets/viewer/demo.js
sed -n '220,310p' src/main/resources/static/assets/viewer/demo.js
echo '== DOM helper tests =='
sed -n '1,360p' src/test/js/dom-utils.test.mjs
echo '== Integration test and DOM double =='
sed -n '1,420p' src/test/js/demo-integration.test.mjs
echo '== Maven Node test and coverage gate =='
grep -n -E -C 12 'dom-utils|node|c8|coverage|line|branch|function|exec-maven' pom.xml || true
echo '== CI Node setup =='
grep -n -E -C 4 'actions/setup-node@|node-version:' .github/workflows/ci.yml || true
echo '== Exact relevant diff =='
git diff --check "$base" "$sha"
git diff --unified=30 "$base" "$sha" -- \
.github/workflows/ci.yml pom.xml CHANGELOG.md .jules/palette.md \
src/main/resources/static/assets/viewer/demo.js \
src/main/resources/static/assets/viewer/dom-utils.js \
src/test/js/dom-utils.test.mjs src/test/js/demo-integration.test.mjs
echo '== Current exact-head check states =='
gh api "repos/$repo/commits/$sha/check-runs?per_page=100" --paginate \
--jq '.check_runs[] | select(.name == "strix" or .name == "Maven test" or .name == "Semgrep (multi-language SAST)" or .name == "osv-scan" or .name == "fuzz (ArtifactTokenParserFuzzTest)") | [.name,.status,.conclusion] | `@tsv`'
echo '== Required branch protection =='
gh api "repos/$repo/branches/main/protection/required_status_checks" || true
gh api "repos/$repo/branches/main/protection/required_pull_request_reviews" || true
gh api "repos/$repo/rules/branches/main" || trueLength of output: 76067
Blocking finding: The A user can activate this action again before Apply the shared helper in this handler. Restore the state when I verified the WeakMap depth and idempotence contract, exact DOM and ARIA restoration, original child-node preservation, contextual inert labels, integration test DOM semantics for I did not approve this PR. The source blocker remains. The exact-head ✏️ Learnings added
You are interacting with an AI system. |
|
@coderabbitai review @opencode-agent @cwl-noema-review Please independently review exact current head |
|
@coderabbitai review @opencode-agent @cwl-noema-review Please independently review exact current head |
|
@coderabbitai review @opencode-agent @cwl-noema-review Please independently 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/clearfolio'
sha='b3453021182e99337e67d8b57a237f7196bd4e53'
echo '== Exact commit and pull request state =='
printf 'local HEAD: '; git rev-parse HEAD
git show -s --format='commit: %H%nparents: %P%nsubject: %s' "$sha"
gh pr view 264 --repo "$repo" \
--json number,url,state,isDraft,headRefOid,baseRefName,baseRefOid,mergeStateStatus,reviewDecision,statusCheckRollup,latestReviews
echo '== Merge base and complete diff summary =='
base="$(git merge-base "$sha" origin/main)"
printf 'merge-base: %s\n' "$base"
git diff --check "$base" "$sha"
git diff --name-status "$base" "$sha"
git diff --stat "$base" "$sha"
echo '== Changed JavaScript source and test outlines =='
for file in \
src/main/resources/static/assets/viewer/dom-utils.js \
src/main/resources/static/assets/viewer/demo.js \
src/test/js/dom-utils.test.mjs \
src/test/js/demo-integration.test.mjs
do
if [ -f "$file" ]; then
echo "--- $file"
ast-grep outline "$file" --items all || true
fi
done
echo '== Busy helper and async viewer consumers =='
nl -ba src/main/resources/static/assets/viewer/dom-utils.js | sed -n '1,260p'
nl -ba src/main/resources/static/assets/viewer/demo.js | sed -n '1,180p'
nl -ba src/main/resources/static/assets/viewer/demo.js | sed -n '215,330p'
nl -ba src/main/resources/static/assets/viewer/demo.js | sed -n '420,590p'
echo '== Unit and production-module integration tests =='
nl -ba src/test/js/dom-utils.test.mjs | sed -n '1,500p'
nl -ba src/test/js/demo-integration.test.mjs | sed -n '1,600p'
echo '== Maven Node test and coverage configuration =='
rg -n -C 16 -P '(dom-utils|node|c8|coverage|line|branch|function|exec-maven)' pom.xml || true
echo '== CI Node pin and changed workflow files =='
rg -n -C 6 -P '(actions/setup-node@|node-version:)' .github/workflows/ci.yml || true
git diff --unified=35 "$base" "$sha" -- .github/workflows pom.xml \
src/main/resources/static/assets/viewer/dom-utils.js \
src/main/resources/static/assets/viewer/demo.js \
src/test/js/dom-utils.test.mjs \
src/test/js/demo-integration.test.mjs \
CHANGELOG.md docs .jules/palette.md
echo '== Exact-head checks =='
gh api "repos/$repo/commits/$sha/check-runs?per_page=100" --paginate \
--jq '.check_runs[] | [.name,.status,.conclusion,.details_url] | `@tsv`'
echo '== Review threads, branch protection, and branch rules =='
gh pr view 264 --repo "$repo" --json reviewThreads,headRefOid,mergeStateStatus,reviewDecision,latestReviews || true
gh api "repos/$repo/branches/main/protection" || true
gh api "repos/$repo/rules/branches/main" || trueLength of output: 17680 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo='ContextualWisdomLab/clearfolio'
sha='b3453021182e99337e67d8b57a237f7196bd4e53'
base='f3cc09a9838f0f88c81a2ceae22138fab80a2edb'
numbered() {
awk '{ printf "%6d\t%s\n", NR, $0 }' "$1"
}
echo '== Busy-state helper =='
numbered src/main/resources/static/assets/viewer/dom-utils.js | sed -n '1,240p'
echo '== Demo import, JSON action, Details action, and Open viewer action =='
numbered src/main/resources/static/assets/viewer/demo.js | sed -n '1,180p'
numbered src/main/resources/static/assets/viewer/demo.js | sed -n '215,320p'
numbered src/main/resources/static/assets/viewer/demo.js | sed -n '420,590p'
echo '== All production setBusyState call sites =='
rg -n -C 12 -P '\bsetBusyState\s*\(' src/main/resources/static/assets/viewer/demo.js
echo '== Busy-state unit tests =='
numbered src/test/js/dom-utils.test.mjs | sed -n '1,500p'
echo '== Production-module integration tests =='
numbered src/test/js/demo-integration.test.mjs | sed -n '1,620p'
echo '== Maven test execution and c8 thresholds =='
rg -n -C 20 -P '(dom-utils|node|c8|coverage|line|branch|function|exec-maven)' pom.xml
echo '== Node setup action pin =='
rg -n -C 8 -P '(actions/setup-node@|node-version:)' .github/workflows/ci.yml
echo '== Changed workflow, source, test, and documentation diff =='
git diff --check "$base" "$sha"
git diff --unified=40 "$base" "$sha" -- \
.github/workflows pom.xml CHANGELOG.md .jules/palette.md \
src/main/resources/static/assets/viewer/dom-utils.js \
src/main/resources/static/assets/viewer/demo.js \
src/test/js/dom-utils.test.mjs \
src/test/js/demo-integration.test.mjs
echo '== Exact-head check states, review threads, and rules =='
gh api "repos/$repo/commits/$sha/check-runs?per_page=100" --paginate \
--jq '.check_runs[] | select(
.name == "Maven test"
or .name == "strix"
or .name == "Semgrep (multi-language SAST)"
or .name == "osv-scan"
or (.name | startswith("fuzz"))
) | [.name,.status,.conclusion] | `@tsv`'
gh pr view 264 --repo "$repo" \
--json headRefOid,mergeStateStatus,reviewDecision,reviewThreads,latestReviews
gh api "repos/$repo/branches/main/protection" || true
gh api "repos/$repo/rules/branches/main" || trueLength of output: 102302 🏁 Script executed: #!/bin/bash
set -u
repo='ContextualWisdomLab/clearfolio'
sha='b3453021182e99337e67d8b57a237f7196bd4e53'
echo '== Removal commit and removed reconciliation workflow =='
git show --format='commit: %H%nparents: %P%nsubject: %s' --name-status "$sha"
git show --format= --find-renames --find-copies "$sha" -- .github/workflows || true
echo '== Exact-head required check states =='
gh api "repos/$repo/commits/$sha/check-runs?per_page=100" --paginate \
--jq '.check_runs[]
| select(
.name == "Maven test"
or .name == "strix"
or .name == "Semgrep (multi-language SAST)"
or .name == "osv-scan"
or (.name | startswith("fuzz"))
)
| [.name, .status, .conclusion, .details_url]
| `@tsv`' || true
echo '== Pull request head and merge state =='
gh pr view 264 --repo "$repo" \
--json headRefOid,mergeStateStatus,reviewDecision,latestReviews,statusCheckRollup || true
echo '== Unresolved review threads =='
gh api graphql \
-F owner='ContextualWisdomLab' \
-F name='clearfolio' \
-F number=264 \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
comments(first: 1) { nodes { author { login } body path line } }
}
}
}
}
}' \
--jq '.data.repository.pullRequest.reviewThreads.nodes[]
| select(.isResolved == false)
| [.comments.nodes[0].author.login, .comments.nodes[0].path, (.comments.nodes[0].line | tostring), .comments.nodes[0].body]
| `@tsv`' || true
echo '== Available branch protection and rulesets =='
gh api "repos/$repo/branches/main/protection" || true
gh api "repos/$repo/rules/branches/main" || true
gh api "repos/$repo/rulesets?includes_parents=true" || trueLength of output: 21945
I found no source-level blocker.
I cannot approve yet. The exact-head You are interacting with an AI system. |
|
@coderabbitai review @opencode-agent @cwl-noema-review Please independently 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/clearfolio'
sha='b3453021182e99337e67d8b57a237f7196bd4e53'
echo '== Exact PR state =='
git rev-parse HEAD
git show -s --format='commit=%H%nparents=%P%nsubject=%s' "$sha"
gh pr view 264 --repo "$repo" \
--json headRefOid,baseRefOid,baseRefName,state,isDraft,mergeStateStatus,reviewDecision,statusCheckRollup,latestReviews
echo '== Merge-base and changed files =='
base="$(git merge-base "$sha" origin/main)"
printf 'base=%s\n' "$base"
git diff --check "$base" "$sha"
git diff --name-status "$base" "$sha"
echo '== Relevant source structure =='
for f in \
src/main/resources/static/assets/viewer/dom-utils.js \
src/main/resources/static/assets/viewer/demo.js \
src/test/js/dom-utils.test.mjs \
src/test/js/demo-integration.test.mjs
do
echo "--- $f"
ast-grep outline "$f" --items all || true
done
echo '== Busy helper and consumers =='
sed -n '1,240p' src/main/resources/static/assets/viewer/dom-utils.js
sed -n '1,175p' src/main/resources/static/assets/viewer/demo.js
sed -n '215,325p' src/main/resources/static/assets/viewer/demo.js
sed -n '420,590p' src/main/resources/static/assets/viewer/demo.js
echo '== Busy-state and integration tests =='
sed -n '1,520p' src/test/js/dom-utils.test.mjs
sed -n '1,620p' src/test/js/demo-integration.test.mjs
echo '== Test coverage and Node pin =='
rg -n -C 16 -P '(dom-utils|node|c8|coverage|line|branch|function|exec-maven)' pom.xml
rg -n -C 6 -P '(actions/setup-node@|node-version:)' .github/workflows/ci.yml
echo '== PDF.js contract evidence =='
rg -n -C 4 -P '(pdfjs|pdf\.js|PDF\.js|6\.1\.200|version)' pom.xml src/main README.md CHANGELOG.md || true
echo '== Workflow removal and focused diff =='
git diff --name-status "$base" "$sha" -- .github/workflows
git diff --unified=25 "$base" "$sha" -- \
.github/workflows pom.xml \
src/main/resources/static/assets/viewer/dom-utils.js \
src/main/resources/static/assets/viewer/demo.js \
src/test/js/dom-utils.test.mjs \
src/test/js/demo-integration.test.mjs
echo '== Exact-head check results =='
gh api "repos/$repo/commits/$sha/check-runs?per_page=100" --paginate \
--jq '.check_runs[] | [.name,.status,.conclusion] | `@tsv`'
echo '== Unresolved review threads =='
gh api graphql \
-F owner='ContextualWisdomLab' -F name='clearfolio' -F number=264 \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
comments(first: 1) { nodes { author { login } path line body } }
}
}
}
}
}' \
--jq '.data.repository.pullRequest.reviewThreads.nodes[]
| select(.isResolved == false)
| [.comments.nodes[0].author.login,.comments.nodes[0].path,(.comments.nodes[0].line|tostring),.comments.nodes[0].body] | `@tsv`'
echo '== Available protection and ruleset configuration =='
gh api "repos/$repo/branches/main/protection" || true
gh api "repos/$repo/rules/branches/main" || true
gh api "repos/$repo/rulesets?includes_parents=true" || trueLength of output: 188259
I found no source-level blocker. I verified the following items:
I cannot approve yet. The exact-head The available rulesets require resolved review threads and one repository approval. The protected-branch API returned HTTP 403, so I could not verify the complete branch-protection configuration. You are interacting with an AI system. |
|
@opencode-agent @cwl-noema-review Please independently review exact current head |
|
Addressed the valid current-source accessibility finding on exact head @opencode-agent @cwl-noema-review Please independently review only exact head |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
repo='ContextualWisdomLab/clearfolio'
prior='b3453021182e99337e67d8b57a237f7196bd4e53'
head='718107a7a6eaca15a1f3e33ea7ceebefaf23d85a'
echo '== Exact head and pull request state =='
printf 'local HEAD: '; git rev-parse HEAD
git show -s --format='commit=%H%nparents=%P%nsubject=%s' "$head"
gh pr view 264 --repo "$repo" \
--json number,headRefOid,baseRefOid,baseRefName,state,isDraft,mergeStateStatus,reviewDecision,statusCheckRollup,latestReviews
echo '== Focused source and test diff =='
git diff --check "$prior" "$head"
git diff --name-status "$prior" "$head"
git diff --unified=50 "$prior" "$head" -- \
src/main/resources/static/assets/viewer/demo.js \
src/test/js/demo-integration.test.mjs
echo '== Source maps =='
ast-grep outline src/main/resources/static/assets/viewer/demo.js --items all
ast-grep outline src/main/resources/static/assets/viewer/dom-utils.js --items all
ast-grep outline src/test/js/demo-integration.test.mjs --items all
echo '== Status JSON action and busy-state helper =='
nl -ba src/main/resources/static/assets/viewer/demo.js | sed -n '105,160p'
nl -ba src/main/resources/static/assets/viewer/dom-utils.js | sed -n '1,220p'
echo '== Focused integration-test assertions =='
rg -n -C 16 -P '(Status JSON|Loading status JSON|aria-busy|disabled|pending|openJsonDocument|fetchJson|window\.open|restore)' \
src/test/js/demo-integration.test.mjs
echo '== Maven Node test and coverage configuration =='
rg -n -C 16 -P '(dom-utils|node|c8|coverage|line|branch|function|exec-maven)' pom.xml
echo '== Exact-head check runs =='
gh api "repos/$repo/commits/$head/check-runs?per_page=100" --paginate \
--jq '.check_runs[] | [.name,.status,.conclusion,.details_url] | `@tsv`'
echo '== Unresolved review threads =='
gh api graphql \
-F owner='ContextualWisdomLab' -F name='clearfolio' -F number=264 \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
comments(first: 1) { nodes { author { login } path line body } }
}
}
}
}
}' \
--jq '.data.repository.pullRequest.reviewThreads.nodes[]
| select(.isResolved == false)
| [.comments.nodes[0].author.login,.comments.nodes[0].path,(.comments.nodes[0].line|tostring),.comments.nodes[0].body] | `@tsv`' || true
echo '== Available branch protection and rulesets =='
gh api "repos/$repo/branches/main/protection" || true
gh api "repos/$repo/rules/branches/main" || true
gh api "repos/$repo/rulesets?includes_parents=true" || trueLength of output: 22837 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo='ContextualWisdomLab/clearfolio'
head='718107a7a6eaca15a1f3e33ea7ceebefaf23d85a'
echo '== Busy-state helper =='
sed -n '1,220p' src/main/resources/static/assets/viewer/dom-utils.js
echo '== Status JSON production handler =='
sed -n '70,155p' src/main/resources/static/assets/viewer/demo.js
echo '== Full relevant integration-test section =='
sed -n '120,260p' src/test/js/demo-integration.test.mjs
echo '== Maven Node test and exact coverage configuration =='
rg -n -C 16 -P '(dom-utils|node|c8|coverage|line|branch|function|exec-maven)' pom.xml || true
echo '== Current exact-head required and security check states =='
gh api "repos/$repo/commits/$head/check-runs?per_page=100" --paginate \
--jq '.check_runs[]
| select(
.name == "Maven test"
or .name == "strix"
or .name == "Semgrep (multi-language SAST)"
or .name == "osv-scan"
or .name == "dependency-review"
or .name == "trivy-fs"
or .name == "scorecard"
or (.name | startswith("fuzz"))
or (.name | startswith("Analyze"))
)
| [.name,.status,.conclusion,.details_url]
| `@tsv`'
echo '== PR state and unresolved review threads =='
gh pr view 264 --repo "$repo" \
--json headRefOid,mergeStateStatus,reviewDecision,statusCheckRollup,latestReviews
gh api graphql \
-F owner='ContextualWisdomLab' -F name='clearfolio' -F number=264 \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
comments(first: 1) { nodes { author { login } path line body } }
}
}
}
}
}' \
--jq '.data.repository.pullRequest.reviewThreads.nodes[]
| select(.isResolved == false)
| [.comments.nodes[0].author.login,.comments.nodes[0].path,(.comments.nodes[0].line|tostring),.comments.nodes[0].body]
| `@tsv`' || true
echo '== Available branch protection and rulesets =='
gh api "repos/$repo/branches/main/protection" || true
gh api "repos/$repo/rules/branches/main" || true
gh api "repos/$repo/rulesets?includes_parents=true" || trueLength of output: 29996
I found no source-level blocker.
The integration test verifies:
I cannot approve yet. Maven, CodeQL, fuzzing, OSV scan, Strix, and Security Scan jobs were still queued or in progress when checked. The PR state was The review-thread query returned no unresolved threads. Available rulesets require the organization workflows, resolved threads, and one repository approval. The branch-protection REST endpoint returned HTTP 403, so I could not verify its full configuration. You are interacting with an AI system. |
|
@opencode-agent @cwl-noema-review Please review exact current head |
|
@opencode-agent @cwl-noema-review Please independently review exact current head |
|
@opencode-agent @cwl-noema-review Please independently review exact current head |
Pull request was converted to draft
|
@opencode-agent @cwl-noema-review @coderabbitai review Independently 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/clearfolio'
head='718107a7a6eaca15a1f3e33ea7ceebefaf23d85a'
prior='b3453021182e99337e67d8b57a237f7196bd4e53'
echo '== Exact commit and PR state =='
printf 'local HEAD: '; git rev-parse HEAD
git show -s --format='commit=%H%nparents=%P%nsubject=%s' "$head"
gh pr view 264 --repo "$repo" \
--json number,state,isDraft,headRefOid,baseRefName,baseRefOid,mergeStateStatus,reviewDecision,statusCheckRollup,latestReviews
echo '== Exact-head focused diff =='
git diff --check "$prior" "$head"
git diff --name-status "$prior" "$head"
git diff --unified=40 "$prior" "$head" -- \
src/main/resources/static/assets/viewer/demo.js \
src/test/js/demo-integration.test.mjs
echo '== Source outlines =='
ast-grep outline src/main/resources/static/assets/viewer/dom-utils.js --items all
ast-grep outline src/main/resources/static/assets/viewer/demo.js --items all
ast-grep outline src/test/js/dom-utils.test.mjs --items all
ast-grep outline src/test/js/demo-integration.test.mjs --items all
echo '== Busy-state helper =='
nl -ba src/main/resources/static/assets/viewer/dom-utils.js | sed -n '1,240p'
echo '== Action consumers and accessible names =='
nl -ba src/main/resources/static/assets/viewer/demo.js | sed -n '70,165p'
nl -ba src/main/resources/static/assets/viewer/demo.js | sed -n '215,330p'
nl -ba src/main/resources/static/assets/viewer/demo.js | sed -n '420,590p'
echo '== Helper and production integration tests =='
nl -ba src/test/js/dom-utils.test.mjs | sed -n '1,520p'
nl -ba src/test/js/demo-integration.test.mjs | sed -n '110,300p'
echo '== Maven Node test and coverage configuration =='
rg -n -C 16 -P '(dom-utils|node|c8|coverage|line|branch|function|exec-maven)' pom.xml
echo '== Workflow pins and privileged workflow inventory =='
rg -n -C 5 -P 'uses:\s*[^[:space:]@]+@[0-9a-f]{40}|actions/setup-node@|node-version:' .github/workflows
fd -t f . .github/workflows | sort
rg -n -i -C 4 -P '(contents:\s*write|pull-requests:\s*write|persist-credentials:\s*true|reconcile)' .github/workflows || true
echo '== PDF.js version contract =='
rg -n -C 3 -P '(pdfjs|pdf\.js|PDF\.js|6\.1\.200)' pom.xml src/main README.md || true
echo '== Exact-head checks =='
gh api "repos/$repo/commits/$head/check-runs?per_page=100" --paginate \
--jq '.check_runs[] | [.name,.status,.conclusion,.details_url] | `@tsv`'
echo '== Unresolved review threads =='
gh api graphql \
-F owner='ContextualWisdomLab' -F name='clearfolio' -F number=264 \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
comments(first: 1) { nodes { author { login } path line body } }
}
}
}
}
}' \
--jq '.data.repository.pullRequest.reviewThreads.nodes[]
| select(.isResolved == false)
| [.comments.nodes[0].author.login,.comments.nodes[0].path,(.comments.nodes[0].line | tostring),.comments.nodes[0].body]
| `@tsv`' || true
echo '== Available protection and ruleset data =='
gh api "repos/$repo/branches/main/protection" || true
gh api "repos/$repo/rules/branches/main" || true
gh api "repos/$repo/rulesets?includes_parents=true" || trueLength of output: 24510 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo='ContextualWisdomLab/clearfolio'
head='718107a7a6eaca15a1f3e33ea7ceebefaf23d85a'
numbered() {
awk '{ printf "%6d\t%s\n", NR, $0 }' "$1"
}
echo '== Busy-state helper =='
numbered src/main/resources/static/assets/viewer/dom-utils.js | sed -n '1,240p'
echo '== Demo action consumers =='
numbered src/main/resources/static/assets/viewer/demo.js | sed -n '70,165p'
numbered src/main/resources/static/assets/viewer/demo.js | sed -n '215,330p'
numbered src/main/resources/static/assets/viewer/demo.js | sed -n '420,590p'
echo '== Busy-state unit tests =='
numbered src/test/js/dom-utils.test.mjs | sed -n '1,520p'
echo '== Production integration test =='
numbered src/test/js/demo-integration.test.mjs | sed -n '110,300p'
echo '== Maven Node test and coverage configuration =='
rg -n -C 18 -P '(dom-utils|node|c8|coverage|line|branch|function|exec-maven)' pom.xml
echo '== Workflow inventory and action references =='
fd -t f . .github/workflows | sort
rg -n -C 5 -P '^\s*uses:|actions/setup-node@|node-version:|contents:\s*write|pull-requests:\s*write|persist-credentials:\s*true|reconcile' .github/workflows || true
echo '== PDF.js version references =='
rg -n -C 3 -P '(pdfjs|pdf\.js|PDF\.js|6\.1\.200)' pom.xml src/main README.md || true
echo '== Unresolved review threads =='
gh api graphql \
-F owner='ContextualWisdomLab' -F name='clearfolio' -F number=264 \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
comments(first: 1) { nodes { author { login } path line body } }
}
}
}
}
}' \
--jq '.data.repository.pullRequest.reviewThreads.nodes[]
| select(.isResolved == false)
| [.comments.nodes[0].author.login,.comments.nodes[0].path,(.comments.nodes[0].line | tostring),.comments.nodes[0].body]
| `@tsv`' || true
echo '== Rules and protection data =='
gh api "repos/$repo/branches/main/protection" || true
gh api "repos/$repo/rules/branches/main" || true
gh api "repos/$repo/rulesets?includes_parents=true" || true
echo '== Current PR merge requirements =='
gh pr view 264 --repo "$repo" \
--json headRefOid,mergeStateStatus,reviewDecision,statusCheckRollup,latestReviewsLength of output: 62600
I found no source-level blocker.
I cannot submit approval. GitHub still reports You are interacting with an AI system. |
|
@opencode-agent @cwl-noema-review Independently review exact current head |
|
@opencode-agent @cwl-noema-review Please independently review exact current head |
|
@coderabbitai review @opencode-agent @cwl-noema-review Please independently review exact current head Exact-head Actions are successful: CI |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
repo='ContextualWisdomLab/clearfolio'
head='718107a7a6eaca15a1f3e33ea7ceebefaf23d85a'
prior='b3453021182e99337e67d8b57a237f7196bd4e53'
echo '== Exact commit and PR state =='
printf 'checkout='; git rev-parse HEAD
git show -s --format='commit=%H%nparents=%P%nsubject=%s' "$head"
gh pr view 264 --repo "$repo" \
--json number,state,isDraft,headRefOid,baseRefName,baseRefOid,mergeStateStatus,reviewDecision,statusCheckRollup,latestReviews
echo '== Exact-head delta =='
git diff --check "$prior" "$head"
git diff --name-status "$prior" "$head"
git diff --unified=35 "$prior" "$head" -- \
src/main/resources/static/assets/viewer/demo.js \
src/test/js/demo-integration.test.mjs
echo '== Relevant source outlines =='
ast-grep outline src/main/resources/static/assets/viewer/dom-utils.js --items all
ast-grep outline src/main/resources/static/assets/viewer/demo.js --items all
ast-grep outline src/test/js/dom-utils.test.mjs --items all
ast-grep outline src/test/js/demo-integration.test.mjs --items all
echo '== Busy-state helper =='
nl -ba src/main/resources/static/assets/viewer/dom-utils.js | sed -n '1,240p'
echo '== Viewer actions and accessible labels =='
nl -ba src/main/resources/static/assets/viewer/demo.js | sed -n '70,170p'
nl -ba src/main/resources/static/assets/viewer/demo.js | sed -n '215,330p'
nl -ba src/main/resources/static/assets/viewer/demo.js | sed -n '420,590p'
echo '== Busy-state unit tests and viewer integration test =='
nl -ba src/test/js/dom-utils.test.mjs | sed -n '1,520p'
nl -ba src/test/js/demo-integration.test.mjs | sed -n '100,330p'
echo '== Maven Node-test and coverage configuration =='
rg -n -C 18 -P '(dom-utils|node|c8|coverage|line|branch|function|exec-maven)' pom.xml
echo '== Workflow inventory, pins, and privileged-workflow indicators =='
fd -t f . .github/workflows | sort
rg -n -C 5 -P '^\s*uses:|actions/setup-node@|node-version:|contents:\s*write|pull-requests:\s*write|persist-credentials:\s*true|reconcile' .github/workflows || true
echo '== PDF.js version contract =='
rg -n -C 3 -P '(pdfjs|pdf\.js|PDF\.js|6\.1\.200)' pom.xml src/main README.md || true
echo '== Exact-head check runs =='
gh api "repos/$repo/commits/$head/check-runs?per_page=100" --paginate \
--jq '.check_runs[] | [.name,.status,.conclusion,.details_url] | `@tsv`'
echo '== Unresolved review threads =='
gh api graphql \
-F owner='ContextualWisdomLab' -F name='clearfolio' -F number=264 \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
comments(first: 1) { nodes { author { login } path line body } }
}
}
}
}
}' \
--jq '.data.repository.pullRequest.reviewThreads.nodes[]
| select(.isResolved == false)
| [.comments.nodes[0].author.login,.comments.nodes[0].path,(.comments.nodes[0].line | tostring),.comments.nodes[0].body]
| `@tsv`' || true
echo '== Protection and ruleset data =='
gh api "repos/$repo/branches/main/protection" || true
gh api "repos/$repo/rules/branches/main" || true
gh api "repos/$repo/rulesets?includes_parents=true" || trueLength of output: 23725 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo='ContextualWisdomLab/clearfolio'
head='718107a7a6eaca15a1f3e33ea7ceebefaf23d85a'
numbered() {
awk '{ printf "%6d\t%s\n", NR, $0 }' "$1"
}
echo '== Busy-state helper =='
numbered src/main/resources/static/assets/viewer/dom-utils.js | sed -n '1,240p'
echo '== Viewer action consumers =='
numbered src/main/resources/static/assets/viewer/demo.js | sed -n '70,170p'
numbered src/main/resources/static/assets/viewer/demo.js | sed -n '215,330p'
numbered src/main/resources/static/assets/viewer/demo.js | sed -n '420,590p'
echo '== Busy-state unit tests =='
numbered src/test/js/dom-utils.test.mjs | sed -n '1,520p'
echo '== Production-module integration test =='
numbered src/test/js/demo-integration.test.mjs | sed -n '100,330p'
echo '== Maven Node-test and coverage configuration =='
rg -n -C 18 -P '(dom-utils|node|c8|coverage|line|branch|function|exec-maven)' pom.xml
echo '== Workflow inventory and relevant references =='
fd -t f . .github/workflows | sort
rg -n -C 5 -P '^\s*uses:|actions/setup-node@|node-version:|contents:\s*write|pull-requests:\s*write|persist-credentials:\s*true|reconcile' .github/workflows || true
echo '== PDF.js version contract =='
rg -n -C 3 -P '(pdfjs|pdf\.js|PDF\.js|6\.1\.200)' pom.xml src/main README.md || true
echo '== Unresolved review threads =='
gh api graphql \
-F owner='ContextualWisdomLab' -F name='clearfolio' -F number=264 \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
comments(first: 1) { nodes { author { login } path line body } }
}
}
}
}
}' \
--jq '.data.repository.pullRequest.reviewThreads.nodes[]
| select(.isResolved == false)
| [.comments.nodes[0].author.login,.comments.nodes[0].path,(.comments.nodes[0].line | tostring),.comments.nodes[0].body]
| `@tsv`' || true
echo '== Current PR state and available protection data =='
gh pr view 264 --repo "$repo" \
--json headRefOid,mergeStateStatus,reviewDecision,latestReviews,statusCheckRollup
gh api "repos/$repo/branches/main/protection" || true
gh api "repos/$repo/rules/branches/main" || true
gh api "repos/$repo/rulesets?includes_parents=true" || trueLength of output: 63105
I found no source-level blocker.
I cannot approve this pull request. GitHub still reports You are interacting with an AI system. |
|
@coderabbitai review @opencode-agent @cwl-noema-review Please independently review exact current head |
🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
repo='ContextualWisdomLab/clearfolio'
head='718107a7a6eaca15a1f3e33ea7ceebefaf23d85a'
prior='b3453021182e99337e67d8b57a237f7196bd4e53'
echo '== Exact commit and pull request state =='
printf 'checkout='; git rev-parse HEAD
git show -s --format='commit=%H%nparents=%P%nsubject=%s' "$head"
gh pr view 264 --repo "$repo" \
--json number,state,isDraft,headRefOid,baseRefName,baseRefOid,mergeStateStatus,reviewDecision,statusCheckRollup,latestReviews
echo '== Exact-head delta and whitespace =='
git diff --check "$prior" "$head"
git diff --name-status "$prior" "$head"
git diff --unified=35 "$prior" "$head" -- \
src/main/resources/static/assets/viewer/demo.js \
src/test/js/demo-integration.test.mjs
echo '== Source outlines =='
ast-grep outline src/main/resources/static/assets/viewer/dom-utils.js --items all
ast-grep outline src/main/resources/static/assets/viewer/demo.js --items all
ast-grep outline src/test/js/dom-utils.test.mjs --items all
ast-grep outline src/test/js/demo-integration.test.mjs --items all
echo '== Busy-state helper =='
nl -ba src/main/resources/static/assets/viewer/dom-utils.js | sed -n '1,250p'
echo '== Viewer action consumers =='
nl -ba src/main/resources/static/assets/viewer/demo.js | sed -n '65,180p'
nl -ba src/main/resources/static/assets/viewer/demo.js | sed -n '210,340p'
nl -ba src/main/resources/static/assets/viewer/demo.js | sed -n '415,600p'
echo '== Unit and integration test assertions =='
nl -ba src/test/js/dom-utils.test.mjs | sed -n '1,540p'
nl -ba src/test/js/demo-integration.test.mjs | sed -n '90,350p'
echo '== Maven test and coverage configuration =='
rg -n -C 18 -P '(dom-utils|node|c8|coverage|line|branch|function|exec-maven)' pom.xml
echo '== Workflow inventory, immutable pins, and privileged indicators =='
fd -t f . .github/workflows | sort
rg -n -C 5 -P '^\s*uses:|actions/setup-node@|node-version:|contents:\s*write|pull-requests:\s*write|persist-credentials:\s*true|reconcile' .github/workflows || true
echo '== Exact-head check runs =='
gh api "repos/$repo/commits/$head/check-runs?per_page=100" --paginate \
--jq '.check_runs[] | [.name,.status,.conclusion,.details_url] | `@tsv`'
echo '== Unresolved review threads =='
gh api graphql \
-F owner='ContextualWisdomLab' -F name='clearfolio' -F number=264 \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
comments(first: 1) { nodes { author { login } path line body } }
}
}
}
}
}' \
--jq '.data.repository.pullRequest.reviewThreads.nodes[]
| select(.isResolved == false)
| [.comments.nodes[0].author.login, .comments.nodes[0].path, (.comments.nodes[0].line | tostring), .comments.nodes[0].body]
| `@tsv`' || true
echo '== Available branch protection and rulesets =='
gh api "repos/$repo/branches/main/protection" || true
gh api "repos/$repo/rules/branches/main" || true
gh api "repos/$repo/rulesets?includes_parents=true" || trueLength of output: 23619 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo='ContextualWisdomLab/clearfolio'
head='718107a7a6eaca15a1f3e33ea7ceebefaf23d85a'
numbered() {
awk '{ printf "%6d\t%s\n", NR, $0 }' "$1"
}
echo '== Busy-state helper =='
numbered src/main/resources/static/assets/viewer/dom-utils.js | sed -n '1,250p'
echo '== Viewer action consumers =='
numbered src/main/resources/static/assets/viewer/demo.js | sed -n '65,180p'
numbered src/main/resources/static/assets/viewer/demo.js | sed -n '210,340p'
numbered src/main/resources/static/assets/viewer/demo.js | sed -n '415,600p'
echo '== Busy-state unit tests =='
numbered src/test/js/dom-utils.test.mjs | sed -n '1,540p'
echo '== Production integration test =='
numbered src/test/js/demo-integration.test.mjs | sed -n '90,350p'
echo '== Maven Node test and coverage configuration =='
rg -n -C 18 -P '(dom-utils|node|c8|coverage|line|branch|function|exec-maven)' pom.xml
echo '== Workflow inventory and relevant references =='
fd -t f . .github/workflows | sort
rg -n -C 5 -P '^\s*uses:|actions/setup-node@|node-version:|contents:\s*write|pull-requests:\s*write|persist-credentials:\s*true|reconcile' .github/workflows || true
echo '== Unresolved review threads =='
gh api graphql \
-F owner='ContextualWisdomLab' -F name='clearfolio' -F number=264 \
-f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
comments(first: 1) { nodes { author { login } path line body } }
}
}
}
}
}' \
--jq '.data.repository.pullRequest.reviewThreads.nodes[]
| select(.isResolved == false)
| [.comments.nodes[0].author.login, .comments.nodes[0].path, (.comments.nodes[0].line | tostring), .comments.nodes[0].body]
| `@tsv`' || true
echo '== Current PR review and merge state =='
gh pr view 264 --repo "$repo" \
--json headRefOid,mergeStateStatus,reviewDecision,latestReviews,statusCheckRollup
echo '== Available branch protection and rulesets =='
gh api "repos/$repo/branches/main/protection" || true
gh api "repos/$repo/rules/branches/main" || true
gh api "repos/$repo/rulesets?includes_parents=true" || true
echo '== Exact-head check state summary =='
gh api "repos/$repo/commits/$head/check-runs?per_page=100" --paginate \
--jq '.check_runs[]
| select(.name == "Maven test" or .name == "strix" or .name == "Semgrep (multi-language SAST)" or .name == "osv-scan" or (.name | startswith("fuzz")) or (.name | startswith("Analyze")))
| [.name,.status,.conclusion]
| `@tsv`'Length of output: 56758
I found no source-level blocker.
I cannot approve this pull request yet. GitHub reports
|
Accessibility objective
Improve the Clearfolio viewer demo's async-state and repeated-table-action semantics without introducing HTML parsing or losing original DOM and accessibility state. This clean PR supersedes #162, whose Jules-managed branch repeatedly reintroduced stale workflow pins, duplicated changelog sections, and an unsafe
innerHTMLrestoration recommendation.Changes
Details,Status JSON, andOpen vieweractions.aria-busy, andaria-labelexactly once.textContentand node preservation (Array.from(childNodes)/replaceChildren(...)); never back up or restoreinnerHTML.Detailsand asynchronousStatus JSON; the latter announcesLoading status JSON...while its evidence request is pending.testwith exact 100% line, branch, and function coverage thresholds for the production DOM helper.actions/setup-nodestep.Unreleasedchangelog section and update the accessibility engineering journal.mainwhile preserving the PDF.js integration contract.Exact-head evidence
Exact current head
718107a7a6eaca15a1f3e33ea7ceebefaf23d85ais based on current protectedmainatf3cc09a9838f0f88c81a2ceae22138fab80a2edb. Relative to previously validated headb3453021182e99337e67d8b57a237f7196bd4e53, it changes onlysrc/main/resources/static/assets/viewer/demo.jsandsrc/test/js/demo-integration.test.mjs, with two replacement lines in each file to make and verify the Status JSON pending name operation-specific.Exact-head CI run
30977565425, Security Scan run30977565430, SAST Semgrep run30977565499, and fuzz run30977565442completed successfully. CodeRabbit's exact-head inspection found no source-level blocker and the legacy CodeRabbit status is successful. All review threads are resolved or outdated. The independent repository approval and any still-running required organization check such asstrixremain merge gates.Merge gate
Do not merge until every exact-head required check, including
strixwhen required by the organization ruleset, is successful and an independent approving reviewer with repository write access is present. Every branch-protection, security, accessibility, coverage, and repository-policy gate must remain satisfied for718107a7a6eaca15a1f3e33ea7ceebefaf23d85a.