You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
test: observe all remote input resends after recovery - #29674
The remote terminal fault test could pass while input kept being resent forever. It counted distinct operation IDs, so repeated sends of the same input—or empty cancellation frames—were invisible.
What Changed
Count every outgoing input frame at the existing simulated network boundary and require that count to stop growing after recovery. Keep the ID set for the separate host-restart oracle. Production behavior is unchanged; all 2,000 schedules, 120,000 actions, provider faults, delivery ordering and accepted-write assertions remain.
Why
Observing actual sends fixes the assertion without adding another test, changing the production interface, or reducing the fault workload. A deliberate acknowledgement off-by-one error passes all eight original random blocks but fails all eight repaired blocks at the resend assertion. The separate refusal test already catches that error, so this is stronger composed quiescence proof rather than a claim that the full suite previously missed the entire defect.
Linked Issue
Part of the PR CI test audit.
Visual Proof
N/A — test assertions only; no UI or production change.
Testing
I manually tested these changes locally
Automated tests added/updated, or explained why not below
Linux, background launches enabled. Untouched baseline: 10 cases pass. After restoring the deliberate production mutation byte-for-byte, the model and journal, replay, host-ledger and chunking keepers pass all 68 cases across five suites, with no unhandled errors. Mutation runs are deliberately failing controls, excluded from performance comparisons.
Three alternating-order local pairs retain the same ten passing cases and full schedule statistics: median process wall 10,528→10,276 ms; module 8,955→8,710 ms. These observations do not establish a speedup; the purpose is to repair false confidence at the same workload. Formatting, targeted lint, changed-code quality and diff checks pass. The full PR workflow run 38905448586 and its aggregate passed at the exact merged head, as did all separate checks. All five shard inventories reconcile, with 12,362→12,368 files explained by seven inherited additions and one relocation, zero omissions or unhandled errors. Hosted module time was slower, 14.973→18.132s (test execution 6.468→9.083s), against baseline 38901382074 selected before candidate artifacts. Production dependency and checkout drift limit attribution; no hosted or whole-CI speedup is claimed.
Review
Independent preservation review approved. Known disconnected-grace oracle and aggregate-summary findings remain separate audit work; this PR makes no claim to repair them.
Agent skill upstream boundary
Not applicable, or this change copies or mechanically translates no upstream skill-installer source, tests, fixtures, registry entries, path tables, comments, or documentation.
Notes
No production or protocol changes. The real renderer transport and host dispatcher/sequence ledger remain in the model. Actual OS PTY, SSH socket and mixed-version behavior remain outside this unit model's proof boundary.
Checklist
This PR is small and focused
I explained what changed and why (ELI5, the user-facing before/after, the mechanism, and why over the alternatives)
Before/after screenshots or videos attached for UI changes, or N/A with reason
Self-reviewed for correctness, security, and performance
Cross-platform, SSH/remote, and path/shortcut impact considered (or N/A)
pnpm lint, pnpm typecheck, pnpm test, and pnpm build pass (or CI will cover; local preferred)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 3 remain after this review.
📝 Walkthrough
The test model now counts each client input frame sent during a schedule. After recovery, it checks that the frame count does not increase during the settling period. It also retains the check that PTY writes do not increase.
Priority: ⬇️ Low
Merge Risk:⚪ Minimal · up to 938c9
This change strengthens the remote-terminal recovery test without changing production behavior. No actionable merge risk is identified.
Pre-merge checks: 4 · 1
Failed checks: 1 warning
Check name
Status
Explanation
Resolution
Docstring Coverage
Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files.
Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed checks: 4 passed
Check name
Status
Explanation
Title check
The title clearly identifies the main change: observing all remote input resends after recovery.
Description check
The description is detailed and covers the change, reason, testing, scope, proof boundary, and checklist. It marks visual proof as not applicable and explains the reported validation. The Linked Issue…
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
Full details: Description check
Explanation
The description is detailed and covers the change, reason, testing, scope, proof boundary, and checklist. It marks visual proof as not applicable and explains the reported validation. The Linked Issue section does not include an actual issue reference, but the rest of the description is substantially complete.
Fix all pre-merge checks with AI
✨ Finishing Touches: 💡 1
📝 Generate docstrings: 💡
Commit to this branch
Create a new PR
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ELI5
The remote terminal fault test could pass while input kept being resent forever. It counted distinct operation IDs, so repeated sends of the same input—or empty cancellation frames—were invisible.
What Changed
Count every outgoing input frame at the existing simulated network boundary and require that count to stop growing after recovery. Keep the ID set for the separate host-restart oracle. Production behavior is unchanged; all 2,000 schedules, 120,000 actions, provider faults, delivery ordering and accepted-write assertions remain.
Why
Observing actual sends fixes the assertion without adding another test, changing the production interface, or reducing the fault workload. A deliberate acknowledgement off-by-one error passes all eight original random blocks but fails all eight repaired blocks at the resend assertion. The separate refusal test already catches that error, so this is stronger composed quiescence proof rather than a claim that the full suite previously missed the entire defect.
Linked Issue
Part of the PR CI test audit.
Visual Proof
N/A — test assertions only; no UI or production change.
Testing
Linux, background launches enabled. Untouched baseline: 10 cases pass. After restoring the deliberate production mutation byte-for-byte, the model and journal, replay, host-ledger and chunking keepers pass all 68 cases across five suites, with no unhandled errors. Mutation runs are deliberately failing controls, excluded from performance comparisons.
Three alternating-order local pairs retain the same ten passing cases and full schedule statistics: median process wall 10,528→10,276 ms; module 8,955→8,710 ms. These observations do not establish a speedup; the purpose is to repair false confidence at the same workload. Formatting, targeted lint, changed-code quality and diff checks pass. The full PR workflow run 38905448586 and its aggregate passed at the exact merged head, as did all separate checks. All five shard inventories reconcile, with 12,362→12,368 files explained by seven inherited additions and one relocation, zero omissions or unhandled errors. Hosted module time was slower, 14.973→18.132s (test execution 6.468→9.083s), against baseline 38901382074 selected before candidate artifacts. Production dependency and checkout drift limit attribution; no hosted or whole-CI speedup is claimed.
Review
Independent preservation review approved. Known disconnected-grace oracle and aggregate-summary findings remain separate audit work; this PR makes no claim to repair them.
Agent skill upstream boundary
Notes
No production or protocol changes. The real renderer transport and host dispatcher/sequence ledger remain in the model. Actual OS PTY, SSH socket and mixed-version behavior remain outside this unit model's proof boundary.
Checklist
N/Awith reasonpnpm lint,pnpm typecheck,pnpm test, andpnpm buildpass (or CI will cover; local preferred)