Repository navigation
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This change strengthens local checks and consolidates pending-input answer rules across web and mobile. Its effects are bounded to developer validation and existing answer handling, with no product-default changes or diagnostic suppression. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Shared answer helpers packages/client-runtime/src/state/pendingUserInput.ts, packages/client-runtime/src/state/pendingUserInput.test.ts, packages/client-runtime/package.json |
Client-runtime adds shared types and helpers for normalizing drafts, resolving answers, updating selections, and building answer maps. Tests cover answer resolution and selection cases. The package exports the new module. |
Web and mobile adoption apps/web/src/pendingUserInput.ts, apps/web/src/pendingUserInput.test.ts, apps/web/src/components/chat/*, apps/mobile/src/lib/threadActivity.ts, apps/mobile/src/lib/threadActivity.test.ts, apps/mobile/src/features/threads/*, apps/mobile/src/state/use-selected-thread-requests.ts |
Web progress derivation normalizes selections against the active question and uses shared answer types. Web and mobile callers import shared helpers. The local answer-processing implementations and their related tests are removed. |
Changed-file checks and verification guidance
| Layer / File(s) | Summary |
|---|---|
Changed-file check selection and execution scripts/check-changed.ts, docs/operations/development.md, AGENTS.md |
check:changed selects Agent Context Budget coverage when t3 is affected and filtered React Compiler coverage for changed web and mobile source files. Test steps run sequentially. Documentation describes the added checks. |
Staged lint and budget guidance vite.config.ts, .github/workflows/agent-context-budget.yml, apps/server/src/provider/AgentContextBudget.test.ts |
The staged-file task runs formatting followed by linting. Agent-context-budget failure messages direct contributors to update the budget and run the referenced evals. |
Priority:
Estimated code review effort: 3 (Moderate) | ~20 minutes
Change: Other
Suggested reviewers: juliusmarminge
Merge Risk: 
Minimal · up to fccaf
-
No merge-blocking issue was identified; normal checks remain appropriate.
Pre-merge checks: 
3 · 
1
-
Failed checks: 1 warning Passed checks: 3 passedFull details: Description check
-
Explanation
The description clearly explains the problem, changes, and verification results. It does not provide the required Scope and approval information, including explicit maintainer approval or a clear explanation for why the focused change is exempt.
Resolution
Add a Scope and approval section. Link the triaged issue or approval discussion with the maintainer approval comment, or explain why this focused configuration change qualifies for an exemption.
-
Finishing Touches
-
📝 Generate docstrings
-
- Commit to this branch
- Create a new PR
🧪 Generate unit tests (beta)
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
8ed06f3 to
3c2e477
Compare
Dismissing prior approval to re-evaluate 3c2e477
Lint failures were the most common PR CI failure while the hook only formatted. The hook now runs lint after format on staged files. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Web and mobile each had their own rules for turning question drafts into answers, and the two had drifted. The rules now live in client-runtime, taken from mobile's stricter copy, and both clients import them directly. Web's progress helpers use the shared normalizer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The size budget fails when model-facing text grows, and its messages said to cut text. Cuts with no eval behind them caused the inline chart regression after #24850. Now that check:changed runs the budget locally, both messages say to run the evals that cover the text before cutting. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3c2e477 to
fccafa9
Compare
Dismissing prior approval to re-evaluate fccafa9
| staged: { | ||
| "*": "vp fmt --no-error-on-unmatched-pattern", | ||
| // In order, so lint reads the formatted file. CI lint failures cost a full round trip. | ||
| "*": ["vp fmt --no-error-on-unmatched-pattern", "vp lint --no-error-on-unmatched-pattern"], |
Agents keep making mistakes in this repo that show up only in CI or in review. We audited recent PR reviews and failing CI runs, and fixed each mistake as high up as possible: in code or tooling first, prose last. This PR has the fixes that fit in one small change.
What changes
vp lintaftervp fmton staged files. A small commit takes about 1s more.check:changedruns the checks it missed. It ran only the tests beside changed files, so these failed only in CI:AgentContextBudget.test.tsnow runs when the server is affected. Its local and CI failure messages say to run the evals for the text before you cut it to fit. Cuts made for size with no eval behind them caused the inline chart regression after #24850, fixed in #25766 and #25776.ENOTEMPTY). The old script failed 2 of 3 runs after a lockfile change. The new one passed 4 of 4.@t3tools/client-runtime/state/pending-user-input, taken from mobile's stricter copy. Real input gives the same answers as before: the schema trims option labels, and both UIs store exact option values.Since the first version,
mainmade two items unnecessary, so I removed them:testing.mdon purpose and added to them, so the item that moved them out of AGENTS.md is gone.Proof: a staged file with
text-[13px]is now blocked at commit. With three probe edits (a web try/finally compiler bailout, a deleted mobile file still inKNOWN_BAILOUTS, and a longer MCP tool description), the oldcheck:changedcaught none and the new one caught all three. The longer description fails with the eval pointer. On the rebased branch,vp run check:changedpasses, and the compiler step runs 12 cases for 8 changed files.Council review
Rounds: 3 (plan review, then build)
Round 3 went only to the one reviewer still below 9.
Reviewed with sol-loop: 1 round with GPT-6.1 Sol. Sol verdict: approved
Created with Claude Opus 5.5 in Claude Code (inside T3 Code).
🤖 Generated with Claude Code