Repository navigation
fix(pull-requests): apply available tracking summaries to filters - #17
Conversation
|
@coderabbitai review |
|
eb6af25 to
d41838e
Compare
|
@coderabbitai review Please review this PR at its exact current head in stack pingdotgg#6. Verify correctness, regressions, security boundaries, and focused coverage against its current base, and report any actionable findings with file references. |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
echo '== Current checkout =='
git status --short
git rev-parse HEAD
git branch --show-current
echo '== PR metadata =='
gh pr view 17 --repo RTVision/t3code --json number,title,headRefName,headRefOid,baseRefName,baseRefOid,commits,files,url
echo '== Current merge base and changed files =='
base_ref="$(gh pr view 17 --repo RTVision/t3code --json baseRefOid --jq .baseRefOid)"
merge_base="$(git merge-base HEAD "$base_ref" 2>/dev/null || true)"
printf 'base_ref=%s\nmerge_base=%s\n' "$base_ref" "$merge_base"
git diff --name-status "$merge_base"...HEAD
git diff --stat "$merge_base"...HEAD
echo '== File outlines for changed source and test files =='
git diff --name-only "$merge_base"...HEAD | while IFS= read -r file; do
case "$file" in
*.ts|*.tsx|*.js|*.jsx)
echo "--- $file"
ast-grep outline "$file" --items all 2>&1 || true
;;
esac
doneLength of output: 24185 🏁 Script executed: #!/bin/bash
set -euo pipefail
base="$(git merge-base HEAD "$(gh pr view 17 --repo RTVision/t3code --json baseRefOid --jq .baseRefOid)")"
echo '== Exact patch =='
git diff --find-renames --find-copies --unified=80 "$base"...HEAD -- \
apps/server/src/pullRequest/GiteaPullRequestApi.ts \
apps/server/src/pullRequest/PullRequestService.ts \
apps/server/src/pullRequest/PullRequestService.test.ts \
packages/contracts/src/pullRequest.ts
echo '== Summary schema and all summary producers/consumers =='
rg -n -C 6 --glob '*.ts' \
'\bPullRequestProviderSummary\b|\bcheckSummary\b|\bchecksState\b|\bsummary:\s*(Option\.)?(none|some)\b' \
apps packages
echo '== Changed service and Gitea context =='
sed -n '1,180p' packages/contracts/src/pullRequest.ts
sed -n '1660,1810p' apps/server/src/pullRequest/GiteaPullRequestApi.ts
sed -n '840,1060p' apps/server/src/pullRequest/PullRequestService.ts
echo '== Focused test context =='
rg -n -C 12 --glob 'PullRequestService.test.ts' \
'checkSummary|checksState|passing|failing|pending|available' \
apps/server/src/pullRequest/PullRequestService.test.tsLength of output: 125941 🏁 Script executed: #!/bin/bash
set -euo pipefail
echo '== Gitea list and search implementation =='
rg -n -C 10 --glob 'GiteaPullRequestApi.ts' \
'function listPullRequests|const listPullRequests|includeTracking|listPullRequests\(|searchPullRequests|matchesPullRequest' \
apps/server/src/pullRequest/GiteaPullRequestApi.ts
rg -n -C 10 --glob 'GiteaPullRequestProvider.ts' \
'listChangeRequests|giteaToChangeRequest|includeTracking|filters' \
apps/server/src/pullRequest/GiteaPullRequestProvider.ts
rg -n -C 8 --glob 'GiteaSearch.ts' \
'includeTracking|search|filters' \
apps/server/src/pullRequest/GiteaSearch.ts
echo '== Service list: filter, pagination, cache =='
rg -n -C 12 --glob 'PullRequestService.ts' \
'matchesRowFilters|toEntry\(|nextListCursor|truncated:|ListCache|listCache|Cache.make|input\.filters' \
apps/server/src/pullRequest/PullRequestService.ts
echo '== Test helpers and cache configuration =='
sed -n '120,290p' apps/server/src/pullRequest/PullRequestService.test.ts
sed -n '1020,1210p' apps/server/src/pullRequest/PullRequestService.ts
echo '== Exact changed lines with line numbers =='
git diff --unified=0 "$(git merge-base HEAD "$(gh pr view 17 --repo RTVision/t3code --json baseRefOid --jq .baseRefOid)")"...HEAD -- \
apps/server/src/pullRequest/GiteaPullRequestApi.ts \
apps/server/src/pullRequest/PullRequestService.ts \
apps/server/src/pullRequest/PullRequestService.test.ts \
packages/contracts/src/pullRequest.tsLength of output: 57243 🏁 Script executed: #!/bin/bash
set -euo pipefail
echo '== Exact-head confirmation =='
printf 'checked_out='
git rev-parse HEAD
printf 'pr_head='
gh pr view 17 --repo RTVision/t3code --json headRefOid --jq .headRefOid
echo '== Patch consistency =='
base="$(git merge-base HEAD "$(gh pr view 17 --repo RTVision/t3code --json baseRefOid --jq .baseRefOid)")"
git diff --check "$base"...HEAD
git status --shortLength of output: 683
No actionable findings. The Gitea provider requests tracking data for list and search paths. The service preserves the required distinction between unavailable summaries ( You are interacting with an AI system. |
|
Merge verdict: NO-GO (review gates incomplete). Head:
No merge performed. Resume the independent code reviews when Fable is available, obtain the missing/current CodeRabbit approval where applicable, and recheck the exact head and base before merging. |
|
@coderabbitai approve The maintainer requests formal approval for the remaining PRs. Please assess the exact current head If branch configuration prevents formal approval, please state that explicitly. Independent Codex/Fable code verdicts are being refreshed separately; this request does not authorize merging or bypassing their findings. |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="RTVision/t3code"
pr="17"
requested_head="d41838efd1fe8341cc3a8a9216e6f14ab150f6dd"
echo "== Pull request metadata =="
gh pr view "$pr" --repo "$repo" \
--json number,state,isDraft,headRefOid,baseRefName,baseRefOid,mergeStateStatus,reviewDecision,files \
--jq '{number,state,isDraft,headRefOid,baseRefName,baseRefOid,mergeStateStatus,reviewDecision,files:[.files[].path]}'
echo "== Exact-head verification =="
printf 'requested_head=%s\n' "$requested_head"
printf 'checkout_head='
git rev-parse HEAD
printf 'pr_head='
gh pr view "$pr" --repo "$repo" --json headRefOid --jq .headRefOid
base_oid="$(gh pr view "$pr" --repo "$repo" --json baseRefOid --jq .baseRefOid)"
merge_base="$(git merge-base HEAD "$base_oid")"
printf 'merge_base=%s\n' "$merge_base"
echo "== Patch integrity and changed files =="
git diff --check "$merge_base"...HEAD
git diff --name-status "$merge_base"...HEAD
echo "== Changed implementation and tests =="
git diff --unified=45 "$merge_base"...HEAD -- \
apps/server/src/pullRequest/GiteaPullRequestApi.ts \
apps/server/src/pullRequest/PullRequestService.ts \
apps/server/src/pullRequest/PullRequestService.test.ts \
packages/contracts/src/pullRequest.ts
echo "== Approval-related CodeRabbit configuration =="
fd -HI -t f '^(\\.coderabbit\\.ya?ml|coderabbit\\.ya?ml)$' . -x sh -c '
for file do
echo "--- $file"
rg -n -C 4 "reviews:|request_changes_workflow|approve|approval" "$file" || true
done
' sh {} \;Length of output: 24961
I reviewed pull request I found no remaining blockers. The check-summary filtering preserves the intended unavailable, known-empty, pending, passing, and failing behavior. The focused test covers these states. [approve] You are interacting with an AI system. |
|
Merge verdict: NO-GO. This supersedes the earlier quota-only readiness comment. Reviewed head:
Validation: 339 focused integrated PR tests plus 502 cross-provider tests passed at integration head No merge is authorized while any blocker or required approval is outstanding. Recheck the resulting head and current base after corrections or stack merges. This PR also belongs to the native Gitea stack: merging it would merge lower open members, including blocked #4/#5. Those predecessor gates must pass too. |
|
NO-GO now — inherited type failures Reviewed commit: Applying available row summaries to filters is sound: GitHub already carries check state, while providers without it are skipped. This head inherits the type failures fixed by #22. Fable gives conditional GO with #22; Codex holds the current merge candidate. Include the type fixes and rerun the scoped server typecheck. Clear the native-stack predecessors before merging. Validation by Codex: the exact #36 integration head Reviewers: Codex and Claude Fable 5.1 (Claude CLI). |
|
@coderabbitai review Please independently review the newly pushed fixes at |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="RTVision/t3code"
pr="17"
requested_head="d6ba09547259a76bbaa2449fca41e65b4eec0369"
echo '== Pull request and exact-head verification =='
gh pr view "$pr" --repo "$repo" \
--json number,state,isDraft,title,headRefName,headRefOid,baseRefName,baseRefOid,mergeStateStatus,reviewDecision,files,commits \
--jq '{number,state,isDraft,title,headRefName,headRefOid,baseRefName,baseRefOid,mergeStateStatus,reviewDecision,files:[.files[].path],commits:[.commits[].oid]}'
printf 'requested_head=%s\n' "$requested_head"
printf 'checkout_head='
git rev-parse HEAD
printf 'pr_head='
gh pr view "$pr" --repo "$repo" --json headRefOid --jq .headRefOid
base_oid="$(gh pr view "$pr" --repo "$repo" --json baseRefOid --jq .baseRefOid)"
merge_base="$(git merge-base HEAD "$base_oid")"
printf 'merge_base=%s\n' "$merge_base"
echo '== Patch integrity and complete changed-file list =='
git diff --check "$merge_base"...HEAD
git diff --name-status "$merge_base"...HEAD
git diff --stat "$merge_base"...HEAD
echo '== Complete patch with review context =='
git diff --find-renames --find-copies --unified=55 "$merge_base"...HEAD
echo '== Changed TypeScript file outlines =='
git diff --name-only "$merge_base"...HEAD | while IFS= read -r file; do
case "$file" in
*.ts|*.tsx|*.js|*.jsx)
echo "--- $file"
ast-grep outline "$file" --items all 2>&1 || true
;;
esac
done
echo '== Check-summary schemas, conversions, filtering, and all direct usages =='
rg -n -C 8 --glob '*.{ts,tsx}' \
'\bPullRequestProviderSummary\b|\bcheckSummary\b|\bchecksState\b|\bmatchesRowFilters\b|\bcheckFilter\b|\bCheckFilter\b' \
apps packages
echo '== Prior type-failure remediation commits and affected package scripts/configuration =='
git log --oneline --decorate --all --max-count=120 --grep='type\|Type\|`#22`' || true
fd -HI -t f '^(package\.json|tsconfig(\..*)?\.json)$' . -x sh -c '
for file do
echo "--- $file"
rg -n -C 3 "\"(typecheck|lint|test)[^\"]*\"|references|compilerOptions" "$file" || true
done
' sh {} \;
echo '== Recent review records =='
gh api "repos/$repo/pulls/$pr/reviews?per_page=100" \
--jq '.[] | {id,user:.user.login,state,commit_id,submitted_at,body}'Length of output: 207617 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="RTVision/t3code"
pr="17"
echo '== Commit-level patches on this pull request =='
for commit in \
d41838efd1fe8341cc3a8a9216e6f14ab150f6dd \
d581105c67db13e7fc88a3142c23b1ff750dd470 \
6e51f9566b94c3cbe5a0025b636d734b72094749 \
d6ba09547259a76bbaa2449fca41e65b4eec0369
do
echo "--- $commit"
git show --format=fuller --stat --find-renames "$commit"
git show --format= --find-renames --unified=35 "$commit"
done
echo '== Gitea raw-decoder and list/search tracking paths =='
sed -n '200,390p' apps/server/src/pullRequest/GiteaPullRequestApi.ts
sed -n '660,940p' apps/server/src/pullRequest/GiteaPullRequestApi.ts
sed -n '1590,1810p' apps/server/src/pullRequest/GiteaPullRequestApi.ts
sed -n '1,190p' apps/server/src/pullRequest/GiteaPullRequestProvider.ts
echo '== Gitea API and provider tracking tests =='
sed -n '320,420p' apps/server/src/pullRequest/GiteaPullRequestApi.test.ts
sed -n '800,875p' apps/server/src/pullRequest/GiteaPullRequestApi.test.ts
sed -n '1,150p' apps/server/src/pullRequest/GiteaPullRequestProvider.test.ts
echo '== Service fixture typing and exact filter test =='
sed -n '45,170p' apps/server/src/pullRequest/PullRequestService.test.ts
sed -n '3825,3905p' apps/server/src/pullRequest/PullRequestService.test.ts
echo '== Runtime schema imports in Gitea decoder =='
rg -n -C 4 --glob 'GiteaPullRequestApi.ts' \
'PullRequestChecksStateSchema|PullRequestReviewDecisionSchema|Schema\.Literals\(\["approved"|Schema\.Literals\(\["passing"' \
apps/server/src/pullRequest/GiteaPullRequestApi.ts
echo '== GitHub checks and commit statuses at requested head =='
gh pr checks "$pr" --repo "$repo" --json name,state,workflow,link,bucket,event || true
gh api "repos/$repo/commits/d6ba09547259a76bbaa2449fca41e65b4eec0369/check-runs?per_page=100" \
--jq '.check_runs[] | {name,status,conclusion,details_url,started_at,completed_at}' || true
gh api "repos/$repo/commits/d6ba09547259a76bbaa2449fca41e65b4eec0369/status" \
--jq '{state,statuses:[.statuses[] | {context,state,target_url,description}]}' || trueLength of output: 82665
I reviewed pull request I found no remaining blockers. The service applies the checks filter only when the provider supplies The Gitea decoder now reuses the shared runtime schemas. The Gitea API and provider tests cover direct tracking reads, search hydration, and nullable summary conversion. The current patch does not change authorization or repository-path validation boundaries. The current GitHub status is a skipped CodeRabbit status. It is not test or typecheck evidence. Sandbox restrictions prevented local test and typecheck execution. [approve] You are interacting with an AI system. |
|
Re-review: GO on the filter change; NO-GO for merging now Reviewed head: The filter uses available summaries and preserves rows from providers that do not report check state. CodeRabbit approves the incremental change. Fable 5.1: GO on the individual change. Clear the inherited #9/#10/#12 behavior defects and the #5 integration conflict before merging the native-stack prefix. Validation by Codex: 308 focused tests across 9 files passed on integration head The remaining native-stack merges must clear their predecessors and the actual target branch. CodeRabbit’s commit-specific comments are distinguished from formal GitHub review records; rate-limited requests are not approvals. |
|
GO — merged after Codex, Fable 5.1, and CodeRabbit review. Reviewed head: Tracking filter behavior is retained; this head adds no new tree changes over its predecessor. CodeRabbit reviewed every exact head and cleared the combined integration. Its commit-specific approval is recorded in that comment; this is not a claim of a new formal GitHub APPROVED review on each PR. All three reviewers require #26 to land with #27 or later; they merged together in the dependency batch. Validation by Codex: 490 focused tests across 13 files passed on integration head Merged: |
PR check filters now apply the provider’s available check summary, fixing Gitea rows that previously remained visible under the opposite filter. Pending and known-empty summaries match neither passing nor failing; hosts without summaries retain their existing behavior. The Gitea decoder reuses the shared tracking schemas.
Focused service cases cover passing, failing, pending, empty, and unavailable summaries. Final integrated server typecheck and targeted lint pass.
Final stack validation at
256fd6fe5: 228 focused tests passed, followed by 61 API/workflow cases and the final team-recovery regression; server typecheck and targeted lint passed. The live settle-on-merge E2E previously passed with fixture cleanup. Companion Gitea backend and focused integration tests passed, including native revert across all five merge styles.Model: GPT-5.6 Luna and GPT-6 Astra. Harness: Codex.