Skip to content

fix(pull-requests): match native Gitea warning status semantics - #23

Merged
kalvenschraut merged 6 commits into
gitea/adapter-typesfrom
gitea/warning-checks
Sep 8, 2026
Merged

kalvenschraut merged 6 commits into
gitea/adapter-typesfrom
gitea/warning-checks

Conversation

@kalvenschraut

@kalvenschraut kalvenschraut commented Sep 5, 2026 •

Copy link
Copy Markdown
Member

A Gitea warning commit status contributes to a failing native check summary, but the PR detail previously showed that check as neutral. Map warning to failure so the list and detail agree with Gitea’s native status combiner.

The 59 focused Gitea API tests, final server typecheck, and targeted lint pass, including a warning-status regression. This adds one case to the integrated stack’s 228 previously passing focused tests.

Model: GPT-6 Astra; native-source audit GPT-5.6 Luna. Harness: Codex.

@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 5, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Sep 5, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 2 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 73f35c73-4b6f-46c8-8acb-f9af20c6593e

📥 Commits

Reviewing files that changed from the base of the PR and between 256fd6f and 93580c0.

📒 Files selected for processing (2)
  • apps/server/src/pullRequest/GiteaPullRequestApi.test.ts
  • apps/server/src/pullRequest/GiteaPullRequestApi.ts

Comment @coderabbitai help to get the list of available commands.

@kalvenschraut
kalvenschraut marked this pull request as ready for review September 5, 2026 05:58
@kalvenschraut

Copy link
Copy Markdown
Member Author

@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.

@coderabbitai

coderabbitai Bot commented Sep 5, 2026 •

Copy link
Copy Markdown

@kalvenschraut I will review pull request #23 at its current head against its current base. I will report actionable findings with file references.

⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@kalvenschraut

Copy link
Copy Markdown
Member Author

Merge verdict: NO-GO (review gates incomplete).

Head: 93580c016f2f39f79ccc96d3b8abc44d0892d249.

  • Codex: NO-GO for merging under the requested two-reviewer gate. Merge readiness and review history were checked; the full dual code review is incomplete, and this comment is not a code approval.
  • Fable 5.1 / Claude CLI: BLOCKED. The requested claude-fable-5-1 review was attempted, but the CLI reached its session limit before returning a completed verdict. Its reported reset is midnight America/Chicago. There is no fresh Fable GO from this pass.
  • CodeRabbit: No formal APPROVED review. The successful CodeRabbit status check does not satisfy the requested approval gate. This branch has not enabled reviews.request_changes_workflow; the existing CodeRabbit replies on this series identify that configuration as preventing formal approvals.
  • GitHub merge state: MERGEABLE / CLEAN against gitea/adapter-types.
  • Checks: the current rollup contains a successful CodeRabbit status only; it contains no build/test check result. No new tests or browser verification are claimed by this audit.

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.

@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai approve

The maintainer requests formal approval for the remaining PRs. Please assess the exact current head 93580c016f2f39f79ccc96d3b8abc44d0892d249 and submit APPROVED only if your review has no remaining blockers. If there is a blocker, leave its concrete reason and the fix required instead. A successful status check alone does not meet this merge gate.

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.

@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '=== checked-out commit ==='
git rev-parse HEAD
git status --short
echo '=== pull request metadata ==='
gh pr view 23 --repo RTVision/t3code --json number,headRefOid,baseRefName,baseRefOid,mergeable,state,isDraft,title
echo '=== merge base and changed files ==='
base_oid="$(gh pr view 23 --repo RTVision/t3code --json baseRefOid --jq .baseRefOid)"
head_oid="$(git rev-parse HEAD)"
merge_base="$(git merge-base "$base_oid" "$head_oid")"
printf 'base=%s\nhead=%s\nmerge_base=%s\n' "$base_oid" "$head_oid" "$merge_base"
git diff --stat "$merge_base" "$head_oid"
git diff --name-status "$merge_base" "$head_oid"
echo '=== changed file outlines ==='
git diff --name-only "$merge_base" "$head_oid" | while IFS= read -r file; do
  echo "--- $file"
  ast-grep outline "$file" --items all 2>&1 || true
done

Length of output: 6752


🏁 Script executed:

#!/bin/bash
set -euo pipefail

base="256fd6fe51ce3e481eaed824fa585becd6bb9e2f"
head="93580c016f2f39f79ccc96d3b8abc44d0892d249"

echo '=== complete PR patch ==='
git diff --find-renames --find-copies --unified=80 "$base" "$head" -- \
  apps/server/src/pullRequest/GiteaPullRequestApi.ts \
  apps/server/src/pullRequest/GiteaPullRequestApi.test.ts

echo '=== Gitea status schema and status/check mapping locations ==='
rg -n -C 12 --type ts \
  '(RawCombinedStatus|RawCommitStatus|checksState|CheckState|dedupeChecks|\.state\b|warning|failure|success|pending)' \
  apps/server/src/pullRequest/GiteaPullRequestApi.ts \
  apps/server/src/pullRequest/pullRequestChecks.ts \
  apps/server/src/pullRequest/GiteaPullRequestApi.test.ts

echo '=== Comparable provider status mappings ==='
rg -n -C 10 --type ts \
  '(warning|neutral|failure|pending|success).*(Check|check|state|State)|(Check|check|state|State).*(warning|neutral|failure|pending|success)' \
  apps/server/src/pullRequest \
  -g '!apps/server/src/pullRequest/GiteaPullRequestApi.ts' \
  -g '!apps/server/src/pullRequest/GiteaPullRequestApi.test.ts'

echo '=== Gitea commit-status API call sites ==='
rg -n -C 8 --type ts \
  'statuses|commit/status|combined.*status|RawCombinedStatus' \
  apps/server/src

Length of output: 133774


⚙️ CodeRabbit configuration inspected

Length of output: 5505


🏁 Script executed:

#!/bin/bash
set -euo pipefail

repo="RTVision/t3code"
head="93580c016f2f39f79ccc96d3b8abc44d0892d249"

echo '=== reviews on pull request `#23` ==='
gh pr view 23 --repo "$repo" --json reviews,reviewDecision,statusCheckRollup

echo '=== check suites and check runs for requested head ==='
gh api "repos/$repo/commits/$head/check-runs" \
  -H 'Accept: application/vnd.github+json' \
  --paginate \
  --jq '.check_runs[] | {name,status,conclusion,started_at,completed_at,details_url}'

echo '=== commit statuses for requested head ==='
gh api "repos/$repo/commits/$head/status" \
  -H 'Accept: application/vnd.github+json' \
  --jq '{state, statuses: [.statuses[] | {context,state,description,target_url}]}'

echo '=== relevant package scripts (inspection only) ==='
fd -a '^package\.json$' . -E node_modules -E dist -E build -x sh -c '
  echo "--- $1"
  jq "{name, scripts}" "$1"
' sh {}

Length of output: 11220


@kalvenschraut I reviewed head 93580c016f2f39f79ccc96d3b8abc44d0892d249 against base 256fd6fe51ce3e481eaed824fa585becd6bb9e2f.

I found no actionable correctness, regression, or security-boundary blocker.

The change in apps/server/src/pullRequest/GiteaPullRequestApi.ts maps Gitea warning statuses to internal failure. This matches the requested native Gitea rollup semantics. The focused regression test in apps/server/src/pullRequest/GiteaPullRequestApi.test.ts verifies the mapping.

I could not independently execute the test suite in this sandbox.

I cannot submit a formal APPROVED review. The active configuration sets reviews.request_changes_workflow: false. GitHub currently shows no formal review on #23. The existing successful CodeRabbit status says Review rate limited, so it does not satisfy the approval gate.

You are interacting with an AI system.

@kalvenschraut

Copy link
Copy Markdown
Member Author

Merge verdict: NO-GO. This supersedes the earlier quota-only readiness comment.

Reviewed head: 93580c016f2f39f79ccc96d3b8abc44d0892d249; declared destination: gitea/adapter-types.

  • Codex: GO. Maps native warning checks to failure and adds the focused regression. No blocking defect found in this diff.
  • Fable 5.1 / Claude CLI: GO, completed independent review of 93580c016f2f.
  • CodeRabbit: No formal GitHub APPROVED review on this head. Approval was requested. Some bot replies say “Approved” or contain [approve], but the GitHub review records do not contain an approval; this does not pass the requested gate. The original branch configuration does not enable reviews.request_changes_workflow.

Validation: 339 focused integrated PR tests plus 502 cross-provider tests passed at integration head 6114cf39; the integrated server typecheck passed. These checks validate the integrated implementation, not every earlier PR snapshot. The original #12 compiler failure was reproduced separately.

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.

@kalvenschraut

Copy link
Copy Markdown
Member Author

GO on the individual change — merge blocked by stack

Reviewed commit: 93580c016f2f39f79ccc96d3b8abc44d0892d249.

Codex and Claude Fable 5.1 both approve mapping native Gitea warning status to failure rather than neutral, preserving the host’s failing-check semantics.

GitHub native-stack merging includes preceding PRs, including rejected #21. Hold this merge until the prefix is cleared.

Validation by Codex: the exact #36 integration head 6114cf39dac017bd665908effd538e5f4f8d5764 passed 1,002 tests across 39 affected files, scoped server/web/desktop typechecks, and targeted lint (warnings, no errors). These are integration results, not a claim that this standalone head passed those checks. Fable independently reviewed source and diffs via Claude CLI; it did not run the tests.

Reviewers: Codex and Claude Fable 5.1 (Claude CLI).

@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai review

Please independently review the newly pushed fixes at a1b46cd996aa147c02cf3970cf66ec416b20f384 and submit a formal GitHub approval on this head only if no blockers remain. Otherwise report the remaining actionable findings. The maintainer requested fresh CodeRabbit approval before merging; an older approval or a green skipped-review status does not satisfy that gate. Codex and Claude Fable 5.1 are separately re-reviewing the changes, including the prior no-go findings in this PR.

@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

repo="RTVision/t3code"
requested_head="a1b46cd996aa147c02cf3970cf66ec416b20f384"

echo '=== checked-out commit ==='
git rev-parse HEAD
git status --short

echo '=== pull request metadata ==='
gh pr view 23 --repo "$repo" --json number,state,isDraft,title,baseRefName,baseRefOid,headRefName,headRefOid,mergeable,reviewDecision

echo '=== requested commit ==='
git cat-file -t "$requested_head"
git show -s --format='commit=%H%nparents=%P%nsubject=%s%n' "$requested_head"

base="$(gh pr view 23 --repo "$repo" --json baseRefOid --jq .baseRefOid)"
merge_base="$(git merge-base "$base" "$requested_head")"
printf 'base=%s\nrequested_head=%s\nmerge_base=%s\n' "$base" "$requested_head" "$merge_base"

echo '=== changed files against current merge base ==='
git diff --stat "$merge_base" "$requested_head"
git diff --name-status "$merge_base" "$requested_head"

echo '=== changed file outlines ==='
git diff --name-only "$merge_base" "$requested_head" | while IFS= read -r file; do
  echo "--- $file"
  ast-grep outline "$file" --items all 2>&1 || true
done

echo '=== patch ==='
git diff --find-renames --find-copies --unified=60 "$merge_base" "$requested_head"

echo '=== relevant test and check scripts ==='
fd -a '^package\.json$' . -E node_modules -E dist -E build -x sh -c '
  echo "--- $1"
  jq "{name, scripts}" "$1"
' sh {}

Length of output: 17993


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '=== duplicate regression test context with line numbers ==='
nl -ba apps/server/src/pullRequest/GiteaPullRequestApi.test.ts | sed -n '1620,1715p'

echo '=== warning-status mapping implementation ==='
rg -n -C 12 --type ts \
  '(status|state).*warning|warning.*(status|state)|listChecks\s*[:=]|\blistChecks\s*\(' \
  apps/server/src/pullRequest/GiteaPullRequestApi.ts \
  apps/server/src/pullRequest/GiteaPullRequestApi.test.ts

echo '=== exact duplicate test-name occurrences ==='
rg -n -C 3 --type ts \
  'it\.effect\("maps native warning statuses to failing checks"' \
  apps/server/src/pullRequest/GiteaPullRequestApi.test.ts

echo '=== current CodeRabbit review configuration ==='
if [ -f .coderabbit.yaml ]; then
  sed -n '1,240p' .coderabbit.yaml
elif [ -f .coderabbit.yml ]; then
  sed -n '1,240p' .coderabbit.yml
else
  echo 'No repository CodeRabbit configuration file found.'
fi

Length of output: 1331


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '=== duplicate regression test context with line numbers ==='
awk 'NR >= 1620 && NR <= 1715 { printf "%6d\t%s\n", NR, $0 }' \
  apps/server/src/pullRequest/GiteaPullRequestApi.test.ts

echo '=== warning-status mapping implementation ==='
rg -n -C 12 --type ts \
  '(status|state).*warning|warning.*(status|state)|listChecks\s*[:=]|\blistChecks\s*\(' \
  apps/server/src/pullRequest/GiteaPullRequestApi.ts \
  apps/server/src/pullRequest/GiteaPullRequestApi.test.ts

echo '=== exact duplicate test-name occurrences ==='
rg -n -C 3 --type ts \
  'it\.effect\("maps native warning statuses to failing checks"' \
  apps/server/src/pullRequest/GiteaPullRequestApi.test.ts

echo '=== current CodeRabbit review configuration ==='
if [ -f .coderabbit.yaml ]; then
  sed -n '1,240p' .coderabbit.yaml
elif [ -f .coderabbit.yml ]; then
  sed -n '1,240p' .coderabbit.yml
else
  echo 'No repository CodeRabbit configuration file found.'
fi

Length of output: 20381


@kalvenschraut I reviewed current head a1b46cd996aa147c02cf3970cf66ec416b20f384 against current base 08cce87833d3fae642240f7efaa2eb0947f4ee09.

I found one actionable issue. I cannot submit approval on this head.

  • apps/server/src/pullRequest/GiteaPullRequestApi.test.ts, Line 1639: Remove one of the two identical maps native warning statuses to failing checks tests. The same test appears again at Line 1669 with the same fixture, API call, and assertion. The added test does not increase coverage.

The implementation still maps Gitea warning statuses to internal failure at apps/server/src/pullRequest/GiteaPullRequestApi.ts, Lines 1585–1586.

The active configuration enables reviews.request_changes_workflow: true. Configuration does not prevent formal approval after the duplicate test is removed.

You are interacting with an AI system.

@kalvenschraut

Copy link
Copy Markdown
Member Author

Re-review: NO-GO for merging now

Reviewed head: a1b46cd996aa147c02cf3970cf66ec416b20f384. This updates my earlier go/no-go comment for the newly pushed repairs.

The warning-to-failure behavior is correct and already carried in the base. CodeRabbit withholds approval because this head duplicates the identical warning-status regression test. Codex regards that duplication as cleanup rather than a product defect, but no new CodeRabbit GO has been obtained.

Fable 5.1: GO; considers the duplicate test a cosmetic cleanup. CodeRabbit has withheld its GO.

Remove the duplicate regression and obtain a fresh CodeRabbit decision. The inherited #9/#10/#12/#21 defects and #5 integration conflict also block the native-stack merge.

Validation by Codex: 308 focused tests across 9 files passed on integration head 73dd9c33ab15db71748beb6f0485ec212e6682f8; scoped server, web, and client-runtime typechecks passed, and targeted lint of 21 changed files passed with warnings. A separate single-worker reproduction exposed the native comment-reaction bug (100 reads and no reactions for a 50-reaction comment). These are integration results, not a claim that every standalone head passed the checks. Fable reviewed source and diffs through Claude CLI; it did not run tests.

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.

@kalvenschraut

kalvenschraut commented Sep 8, 2026 •

Copy link
Copy Markdown
Member Author

GO — merged after Codex, Fable 5.1, and CodeRabbit review.

Reviewed head: ad4b1fbfd21a479a57f71e6110c566810f4ba20f. This supersedes my previous decision on the older head.

Warning-to-failure mapping remains intact and the duplicate identical regression test has been removed.

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 2e156ad621fb32b241abd4614a367aea7943d12e, including the previously failing native comment-reaction reproduction. Scoped server, web, and client-runtime typechecks passed; targeted lint of 24 changed files passed with warnings. Checks ran sequentially with one test worker. These validate the integration, not separate test runs on every component head. Fable independently reviewed source and diffs via Claude CLI.

Merged: f787a611cffccbdf0fd5e593bba8f615c607f532 at 2026-09-08T04:42:56Z. This PR merged in the 17-member Gitea batch into rtvision; the six dependency PRs followed as one reviewed batch. Final rtvision commit is 20926b20ed4ea72618f7608f70b1d4cea8e40053; its tree 9a0e0253b515456f6a117be5ebccf2cd8e911b01 exactly matches tested integration head #36.

@kalvenschraut
kalvenschraut merged commit f787a61 into rtvision Sep 8, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant