Skip to content

fix(pull-requests): preserve Gitea schema inference - #22

Merged
kalvenschraut merged 6 commits into
gitea/team-reviewersfrom
gitea/adapter-types
Sep 8, 2026
Merged

kalvenschraut merged 6 commits into
gitea/team-reviewersfrom
gitea/adapter-types

Conversation

@kalvenschraut

@kalvenschraut kalvenschraut commented Sep 5, 2026 •

Copy link
Copy Markdown
Member

The integrated Gitea adapter now preserves exact optional booleans and string-array types when recovering from failed capability discovery. Workflow fixtures use Effect Schema for JSON encoding, matching the server’s static checks.

These corrections came from the affected server typecheck after the 228 focused behavior tests passed. 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-6 Astra. Harness: Codex.

Summary by CodeRabbit

  • Bug Fixes
    • Improved pull request search behavior by sending tracking options only when explicitly enabled.
    • Ensured feature availability fallbacks are handled consistently across pull request workflows and permission checks.
  • Tests
    • Updated workflow test responses to use consistent JSON encoding.

@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 5, 2026 •

Copy link
Copy Markdown
✅ Action performed

Review finished.

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

Review Change Stack

Warning

Review limit reached

Next included review available in 18 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: 432bc2c5-d0ea-4618-b9ce-501c8e29e20c

📥 Commits

Reviewing files that changed from the base of the PR and between 169019e and 256fd6f.

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

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: c8423a65-cad7-490d-b60d-68afa2d79df2

📥 Commits

Reviewing files that changed from the base of the PR and between bf2bdc7 and 169019e.

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

Included review availability: Your plan provides up to 10 included reviews per hour; 1 remains after this review.


📝 Walkthrough

Walkthrough

Gitea pull-request searches and feature lookups now use explicit boolean and read-only string-array types. Permission flags use explicit booleans. Workflow tests encode mocked responses with Effect Schema.

Changes

Gitea type normalization

Layer / File(s) Summary
Normalize API and provider types
apps/server/src/pullRequest/GiteaPullRequestApi.ts, apps/server/src/pullRequest/GiteaPullRequestProvider.ts
Search requests normalize includeTracking to a strict boolean. Feature fallbacks use ReadonlyArray<string>. Permission values use explicit booleans.
Encode workflow test responses
apps/server/src/pullRequest/GiteaWorkflows.test.ts
Mocked API responses use an encodeJson helper backed by Effect Schema instead of direct JSON.stringify calls.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 16901

This change makes Gitea capability and permission fallbacks type-safe and updates workflow mocks to use schema-based JSON encoding. No current merge-blocking product or production risk is identified.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 3…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly summarizes the main change: preserving Gitea schema inference in pull-request handling.
Description check ✅ Passed The description clearly explains the type-preservation changes, the workflow fixture update, and validation results. It does not use the template headings or checklist, but it includes the required ch…
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch gitea/adapter-types

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

@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai review

The final typed error-recovery fix is pushed. Server typecheck, targeted lint, and the affected team-endpoint regression pass.

@coderabbitai

coderabbitai Bot commented Sep 5, 2026 •

Copy link
Copy Markdown

@kalvenschraut I will review the final typed error-recovery fix and the updated tests.

⚠️ 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
kalvenschraut marked this pull request as ready for review September 5, 2026 05:57
@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai approve

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown
✅ Action performed

Comments resolved. Approval is disabled; enable reviews.request_changes_workflow to allow explicit top-level @coderabbitai resolve or @coderabbitai approve commands.

@kalvenschraut

Copy link
Copy Markdown
Member Author

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

Head: 256fd6fe51ce3e481eaed824fa585becd6bb9e2f.

  • 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/team-reviewers.
  • 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 256fd6fe51ce3e481eaed824fa585becd6bb9e2f 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 22 --repo RTVision/t3code --json number,headRefOid,baseRefName,headRefName,state,mergeStateStatus,statusCheckRollup,reviews \
  --jq '{number, headRefOid, baseRefName, headRefName, state, mergeStateStatus, reviews: [.reviews[] | {author: .author.login, state, commit: .commit.oid}], checks: [.statusCheckRollup[] | {name, status: .status, conclusion: .conclusion}]}'

echo '== Requested commit and PR diff =='
git cat-file -e 256fd6fe51ce3e481eaed824fa585becd6bb9e2f^{commit}
git diff --check origin/gitea/team-reviewers...256fd6fe51ce3e481eaed824fa585becd6bb9e2f
git diff --find-renames --find-copies --unified=80 origin/gitea/team-reviewers...256fd6fe51ce3e481eaed824fa585becd6bb9e2f -- \
  apps/server/src/pullRequest/GiteaPullRequestApi.ts \
  apps/server/src/pullRequest/GiteaPullRequestProvider.ts \
  apps/server/src/pullRequest/GiteaWorkflows.test.ts

echo '== Affected file outlines =='
ast-grep outline apps/server/src/pullRequest/GiteaPullRequestApi.ts --items all
ast-grep outline apps/server/src/pullRequest/GiteaPullRequestProvider.ts --items all
ast-grep outline apps/server/src/pullRequest/GiteaWorkflows.test.ts --items all

echo '== Recovery and includeTracking contexts =='
rg -n -C 8 --glob 'GiteaPullRequestApi.ts' --glob 'GiteaPullRequestProvider.ts' \
  'getFeatures|includeTracking|ReadonlyArray<string>|catch|orElse' apps/server/src/pullRequest

echo '== JSON encoding test contexts =='
rg -n -C 8 --glob 'GiteaWorkflows.test.ts' \
  'Schema|JSON\.stringify|encode|Gitea' apps/server/src/pullRequest

Length of output: 2617


⚙️ CodeRabbit configuration inspected

Length of output: 5505


🏁 Script executed:

#!/bin/bash
set -euo pipefail

repo="RTVision/t3code"
pr="22"

echo '== PR changed-file metadata =='
gh api "repos/${repo}/pulls/${pr}/files?per_page=100" \
  --jq '.[] | {filename, status, additions, deletions, previous_filename, patch}'

echo '== PR patch =='
gh pr diff "$pr" --repo "$repo" --patch

echo '== Commit parent and changed paths =='
git show -s --format='commit=%H%nparents=%P%nsubject=%s' HEAD
git diff-tree --no-commit-id --name-status -r HEAD

echo '== File outlines =='
ast-grep outline apps/server/src/pullRequest/GiteaPullRequestApi.ts --items all
ast-grep outline apps/server/src/pullRequest/GiteaPullRequestProvider.ts --items all
ast-grep outline apps/server/src/pullRequest/GiteaWorkflows.test.ts --items all

echo '== Changed source contexts =='
git diff-tree --no-commit-id --name-only -r HEAD | while IFS= read -r file; do
  echo "----- ${file} -----"
  git diff --unified=100 HEAD^ HEAD -- "$file"
done

echo '== Relevant implementation contexts =='
rg -n -C 12 --glob 'GiteaPullRequestApi.ts' --glob 'GiteaPullRequestProvider.ts' \
  '(getFeatures|includeTracking|listReactions|createReaction|deleteReaction|setDraft|autoMerge|ReadonlyArray<string>)' \
  apps/server/src/pullRequest

echo '== Workflow fixture encoding contexts =='
rg -n -C 12 --glob 'GiteaWorkflows.test.ts' \
  '(Schema\.encode|JSON\.stringify|HttpServerResponse|Gitea)' \
  apps/server/src/pullRequest

Length of output: 97408


@kalvenschraut I reviewed commit 256fd6fe51ce3e481eaed824fa585becd6bb9e2f.

I found no code blocker in this diff. The boolean and feature-array recovery changes preserve the intended types. The team recovery change retains the 405-only fallback. The workflow fixtures now use the Effect Schema JSON encoder.

I cannot submit a formal APPROVED review. The current CodeRabbit configuration has reviews.request_changes_workflow: false. This setting disables formal approval.

The sandbox could not run the server typecheck, lint, or tests. GitHub also returned no usable build or test result for this PR. Enable reviews.request_changes_workflow and ensure the required checks pass if the merge gate requires a formal CodeRabbit approval.

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: 256fd6fe51ce3e481eaed824fa585becd6bb9e2f; declared destination: gitea/team-reviewers.

  • Codex: GO. The typed feature fallbacks, optional-boolean normalization, typed recovery and fixture encoding address the identified compiler failures. No blocking defect found in this diff.
  • Fable 5.1 / Claude CLI: GO, completed independent review of 256fd6fe51ce.
  • 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: 256fd6fe51ce3e481eaed824fa585becd6bb9e2f.

Codex and Claude Fable 5.1 both approve the schema-inference fixes. They resolve the inherited type errors, and the scoped server typecheck passes on the integrated candidate containing them.

GitHub native-stack merging includes preceding PRs, including rejected #21. Hold this merge until the prefix is cleared; approval of this fix does not approve that preceding behavior.

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 08cce87833d3fae642240f7efaa2eb0947f4ee09 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"
pr="22"
requested="08cce87833d3fae642240f7efaa2eb0947f4ee09"

echo '== Repository state and requested commit =='
git rev-parse HEAD
git status --short
git cat-file -e "${requested}^{commit}"
git show -s --format='commit=%H%nparents=%P%nsubject=%s' "$requested"

echo '== Pull request metadata =='
gh pr view "$pr" --repo "$repo" \
  --json number,state,headRefName,headRefOid,baseRefName,mergeStateStatus,statusCheckRollup,reviews \
  --jq '{number,state,headRefName,headRefOid,baseRefName,mergeStateStatus,checks:[.statusCheckRollup[]|{name,status,conclusion}],reviews:[.reviews[]|{author:.author.login,state,commit:.commit.oid}]}'

base_ref=$(gh pr view "$pr" --repo "$repo" --json baseRefName --jq .baseRefName)
git fetch --quiet origin "$base_ref"
base=$(git merge-base "origin/$base_ref" "$requested")
printf 'merge_base=%s\n' "$base"

echo '== Diff integrity and changed paths =='
git diff --check "$base" "$requested"
git diff --name-status "$base" "$requested"
git diff --stat "$base" "$requested"
git diff --find-renames --find-copies --unified=100 "$base" "$requested"

echo '== Changed-file outlines =='
git diff --name-only "$base" "$requested" | while IFS= read -r file; do
  case "$file" in
    *.ts|*.tsx|*.js|*.jsx)
      echo "----- $file -----"
      ast-grep outline "$file" --items all
      ;;
  esac
done

echo '== Gitea recovery, feature, and request contexts =='
rg -n -C 15 --glob 'GiteaPullRequestApi.ts' --glob 'GiteaPullRequestProvider.ts' \
  '(getFeatures|includeTracking|ReadonlyArray<string>|catch|orElse|autoMerge|setDraft|listReactions|createReaction|deleteReaction)' \
  apps/server/src/pullRequest

echo '== Workflow encoding and assertions =='
rg -n -C 15 --glob 'GiteaWorkflows.test.ts' \
  '(Schema|encode|JSON\.stringify|HttpServerResponse|Gitea|includeTracking)' \
  apps/server/src/pullRequest

echo '== Focused test definitions and call contexts =='
rg -n -C 8 --glob '*.test.ts' --glob '*.spec.ts' \
  '(Gitea|includeTracking|getFeatures|autoMerge|setDraft|reaction)' \
  apps/server/src/pullRequest

Length of output: 3026


⚙️ CodeRabbit configuration inspected

Length of output: 5504


🏁 Script executed:

#!/bin/bash
set -euo pipefail

repo="RTVision/t3code"
pr="22"
requested="08cce87833d3fae642240f7efaa2eb0947f4ee09"

echo '== Authoritative pull request file list and patches =='
gh api --paginate "repos/${repo}/pulls/${pr}/files?per_page=100" \
  --jq '.[] | "----- \(.filename) [\(.status)] +\(.additions)/-\(.deletions) -----\n\(.patch // "(patch unavailable)")"'

echo '== Authoritative pull request patch =='
gh pr diff "$pr" --repo "$repo" --patch

echo '== Merge-commit parent diffs =='
for parent in $(git show -s --format=%P "$requested"); do
  echo "----- parent ${parent} -----"
  git diff --check "$parent" "$requested"
  git diff --name-status "$parent" "$requested"
  git diff --unified=80 "$parent" "$requested"
done

echo '== Changed files from GitHub API, with local outlines =='
gh api --paginate "repos/${repo}/pulls/${pr}/files?per_page=100" --jq -r '.[].filename' |
while IFS= read -r file; do
  if [ -f "$file" ]; then
    echo "----- $file -----"
    case "$file" in
      *.ts|*.tsx|*.js|*.jsx) ast-grep outline "$file" --items all ;;
      *) sed -n '1,260p' "$file" ;;
    esac
  else
    echo "----- $file is absent from the checkout -----"
  fi
done

echo '== Gitea implementation contexts =='
rg -n -C 20 --glob 'GiteaPullRequestApi.ts' --glob 'GiteaPullRequestProvider.ts' \
  '(getFeatures|includeTracking|ReadonlyArray<string>|catch|orElse|autoMerge|setDraft|listReactions|createReaction|deleteReaction|listTeamMembers)' \
  apps/server/src/pullRequest

echo '== Workflow fixture contexts =='
rg -n -C 20 --glob 'GiteaWorkflows.test.ts' \
  '(Schema|encode|JSON\.stringify|HttpServerResponse|Gitea|includeTracking|getFeatures)' \
  apps/server/src/pullRequest

echo '== Focused Gitea test definitions and assertions =='
rg -n -C 12 --glob '*.test.ts' --glob '*.spec.ts' \
  '(includeTracking|getFeatures|listTeamMembers|autoMerge|setDraft|listReactions|createReaction|deleteReaction)' \
  apps/server/src/pullRequest

Length of output: 17933


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '== Changes introduced since the earlier reviewed head =='
git diff --check 256fd6fe51ce3e481eaed824fa585becd6bb9e2f HEAD
git diff --name-status 256fd6fe51ce3e481eaed824fa585becd6bb9e2f HEAD
git diff --unified=100 256fd6fe51ce3e481eaed824fa585becd6bb9e2f HEAD -- \
  apps/server/src/pullRequest/GiteaPullRequestApi.ts \
  apps/server/src/pullRequest/GiteaPullRequestProvider.ts \
  apps/server/src/pullRequest/GiteaPullRequestProvider.test.ts \
  apps/server/src/pullRequest/GiteaWorkflows.test.ts

echo '== API: search request normalization =='
sed -n '820,940p' apps/server/src/pullRequest/GiteaPullRequestApi.ts

echo '== API: feature-recovery call sites =='
sed -n '1490,1605p' apps/server/src/pullRequest/GiteaPullRequestApi.ts
sed -n '1610,1685p' apps/server/src/pullRequest/GiteaPullRequestApi.ts
sed -n '2130,2205p' apps/server/src/pullRequest/GiteaPullRequestApi.ts

echo '== API: team recovery, error types, and getFeatures definition =='
sed -n '1960,2050p' apps/server/src/pullRequest/GiteaPullRequestApi.ts
rg -n -C 10 --glob 'GiteaPullRequestApi.ts' \
  '(const getFeatures|function getFeatures|export const getFeatures|isGiteaApiError|class GiteaPullRequestApiError|GiteaPullRequestApiError)' \
  apps/server/src/pullRequest

echo '== Provider: permission normalization and recovery call sites =='
sed -n '100,225p' apps/server/src/pullRequest/GiteaPullRequestProvider.ts
sed -n '295,350p' apps/server/src/pullRequest/GiteaPullRequestProvider.ts
rg -n -C 10 --glob 'GiteaPullRequestProvider.ts' \
  '(function giteaViewerPermissions|const giteaViewerPermissions|workflowApprovalSupported|revertSupported)' \
  apps/server/src/pullRequest

echo '== Tests: workflow JSON encoding =='
sed -n '1,130p' apps/server/src/pullRequest/GiteaWorkflows.test.ts

echo '== Tests: provider recovery fixture and behavior =='
sed -n '1,145p' apps/server/src/pullRequest/GiteaPullRequestProvider.test.ts
rg -n -C 10 --glob 'GiteaPullRequestProvider.test.ts' \
  '(workflowApprovalSupported|revertSupported|include_tracking|getAutoMergeEnabled|405|features)' \
  apps/server/src/pullRequest

Length of output: 214241


@kalvenschraut I reviewed commit 08cce87833d3fae642240f7efaa2eb0947f4ee09.

I found no actionable code blocker.

The feature-discovery recovery paths preserve ReadonlyArray<string>. The optional capability flags use strict boolean normalization. The team-candidate recovery still falls back only for a Gitea HTTP 405 response. The workflow fixtures use the Effect Schema JSON encoder. The added provider test covers failure to read auto-merge state.

The sandbox could not run typecheck, lint, or tests. GitHub returned no completed build or test result in the retrieved status rollup.

reviews.request_changes_workflow is enabled. I am submitting formal approval for this head.

[approve]

You are interacting with an AI system.

@kalvenschraut

Copy link
Copy Markdown
Member Author

Re-review: GO on the inference fixes; NO-GO for merging now

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

The inference fixes are carried in the current head. Its tree equals the declared base tree, and CodeRabbit reports no incremental blocker.

Fable 5.1: GO on the individual change.

This candidate inherits #21's coverage issue as well as #9/#10/#12 and the #5 integration conflict. Clear the prefix before merging.

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: 21ee583ab13ef2dc5041664b151127be44a31b35. This supersedes my previous decision on the older head.

The schema-inference fixes remain intact, and the head carries the corrected team-coverage behavior.

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