Skip to content

Skip conflicted PR review workflows (Fixes #2587) - #2661

Merged
acoliver merged 3 commits into
mainfrom
issue2587
Jul 24, 2026
Merged

Skip conflicted PR review workflows (Fixes #2587)#2661
acoliver merged 3 commits into
mainfrom
issue2587

Conversation

@acoliver

@acoliver acoliver commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add a reusable, least-privilege pull request mergeability gate for trusted-context workflows
  • skip OCR, LLxprt PR Review, and approved-fork E2E work while GitHub reports merge conflicts
  • preserve fail-open behavior for transient mergeability uncertainty and fail visibly for permanent API/configuration errors
  • bind automatic review work to the immutable event head so stale runs cannot review a newer branch tip
  • preserve OCR authorization-aware cancellation while moving infrastructure notification into an independent workflow that survives superseding review runs
  • require a fresh maintainer E2E approval event for changed fork heads rather than allowing a persistent label to authorize new code
  • add behavioral workflow tests, real temporary-Git head-binding tests, notifier truth tables, and the implementation plan

Scope decisions

GitHub already withholds ordinary pull_request workflows while conflicts exist, so CI, Interactive UI, Windows installed-command, and the internal-PR E2E path remain unchanged. Converting them to pull_request_target would weaken their security model.

CodeRabbit is an external GitHub App. The repository's current CodeRabbit configuration exposes no mergeability predicate that Actions can reliably use to prevent, cancel, and retrigger its reviews. This PR therefore leaves .coderabbit.yaml unchanged and documents that platform limitation.

Security and behavior

  • the reusable gate has only pull-requests read permission
  • the gate checks out no code and receives no workflow-call secrets
  • conflict decisions use the REST mergeable boolean, not webhook mergeability or mergeable_state
  • null and transient API conditions use bounded polling and fail open
  • permanent errors fail visibly with sanitized diagnostics
  • stale expected-head events skip rather than running against a changed PR
  • fork E2E remains limited to a fresh authorized labeled event and checks out the event's immutable head
  • conflict-skipped OCR runs do not enter the privileged infrastructure-notification path

Verification

  • npm run test
  • npm run lint
  • npm run typecheck
  • npm run format
  • npm run build
  • bun scripts/start.ts --profile-load stepfun-37 "write me a haiku and nothing else"
  • actionlint 1.7.10 on all changed/new workflows
  • Prettier checks on all changed/new files
  • git diff --check
  • 131 focused workflow tests plus 12 notifier-classification tests

Local yamllint was unavailable; actionlint and Prettier both successfully parsed and validated the workflow YAML.

Fixes #2587

Summary by CodeRabbit

  • New Features
    • Added a reusable mergeability gate to control whether PR reviews, E2E, and OCR code review run.
    • Added automated OCR infrastructure failure notification with issue creation/commenting and deduplication.
    • Strengthened mergeability gating for maintainer-approved E2E label events.
  • Bug Fixes
    • Prevented reviews from proceeding when the PR head SHA changes during fetching.
    • Improved handling of uncertain vs permanent mergeability-check failures for safer CI decisions.
  • Tests
    • Expanded Vitest coverage for mergeability gating, OCR notification classification/wiring, and workflow orchestration.

@github-actions github-actions Bot added the maintainer:e2e:ok Trusted contributor; maintainer-approved E2E run label Jul 24, 2026
@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 6 seconds

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

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: c03893c6-09bb-4859-8884-eed2cba3b765

📥 Commits

Reviewing files that changed from the base of the PR and between 63c1c8a and d5d2abf.

📒 Files selected for processing (2)
  • .github/workflows/_pr-mergeability-gate.yml
  • scripts/tests/pr-mergeability-gate.test.js
📝 Walkthrough

Walkthrough

Changes

Mergeability and workflow orchestration

Layer / File(s) Summary
Reusable mergeability gate
.github/workflows/_pr-mergeability-gate.yml, scripts/tests/pr-mergeability-gate.test.js
Adds REST-based mergeability polling, stale-head detection, stable outputs, retry handling, and contract/security tests.
OCR gating and outcome notification
.github/workflows/ocr-review.yml, .github/workflows/ocr-infrastructure-notifier.yml, scripts/tests/ocr-notifier-classification.test.js, scripts/tests/ocr-review-workflow*.test.js
Gates OCR, records outcomes, classifies completed runs, and creates or updates deduplicated infrastructure-failure issues.
E2E authorization and execution gating
.github/workflows/e2e.yml, scripts/tests/pr-mergeability-workflow-wiring.test.js
Restricts target-event execution to the approved label and applies mergeability, skip, documentation, and platform conditions to Linux and macOS E2E jobs.
PR review staleness protection
.github/workflows/pr-review.yml, scripts/tests/pr-mergeability-workflow-wiring.test.js
Gates review execution and aborts when the fetched pull request head differs from the event head.
Cross-workflow wiring validation
scripts/tests/pr-mergeability-workflow-test-helpers.js, scripts/tests/pr-mergeability-workflow-wiring.test.js
Tests reusable-workflow wiring, predicates, concurrency, permissions, head fetching, unchanged workflow boundaries, and documented platform limitations.

Estimated code review effort: 5 (Critical) | ~120 minutes

Possibly related issues

Possibly related PRs

Suggested labels: ci/cd

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description covers the change, but it misses the required TLDR, Dive Deeper, Reviewer Test Plan, Testing Matrix, and Linked issues sections. Rewrite the PR description to follow the template and add the missing sections, especially the testing matrix and linked issue references.
Docstring Coverage ⚠️ Warning Docstring coverage is 14.29% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and matches the main change: adding workflow gating to skip conflicted PR review runs.
Linked Issues check ✅ Passed The mergeability gate is applied to the OCR, PR review, and approved-fork E2E workflows, which addresses the conflict-blocking objective.
Out of Scope Changes check ✅ Passed The added notifier workflow, tests, and mergeability-gate wiring all support the conflict-skipping objective; no unrelated feature work is evident.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch issue2587

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

@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

LLxprt PR Review – PR #2661

Issue Alignment

Resolves #2587 by introducing a reusable least-privilege mergeability gate (_pr-mergeability-gate.yml) that queries the GitHub REST API and skips expensive trusted-context work when mergeable: false. The gate is wired into ocr-review.yml, pr-review.yml, and e2e.yml. Stale-head protection binds review work to the event head SHA. OCR infrastructure notification is moved to an independent ocr-infrastructure-notifier.yml workflow triggered on workflow_run, so superseded review runs cannot cancel notifier work. E2E fork approval now requires a fresh maintainer:e2e:ok label event instead of persisting across head changes.

Side Effects

  • New reusable workflow with pull-requests: read only; no checkout, no secrets, no code execution.
  • OCR notifier decoupled from OCR review via workflow_run trigger; classification job uses actions: read, notification job uses issues: write.
  • record-ocr-outcome and record-skipped-ocr-outcome jobs added to ocr-review.yml with empty permissions.
  • E2E pull_request_target is now restricted to labeled events with maintainer:e2e:ok; synchronize no longer auto-triggers approved-fork E2E.

Code Quality

  • Gate script handles transient API uncertainty with bounded polling (5 attempts, 2s delay) and fails open.
  • Network errors are detected via traversing error.cause chains, including Undici timeout codes.
  • Input validation rejects non-positive/non-numeric PR numbers with clear failures.
  • Stale head detection prevents reviewing a newer branch tip than the triggering event.
  • Notifier classification distinguishes durable step markers from artifact fallback and fails closed on contradictory durable outcomes.
  • pr-review.yml fetch step now aborts if fetched head SHA diverges from EXPECTED_HEAD_SHA.

Tests and Coverage

Coverage impact: increase.

  • pr-mergeability-gate.test.js executes the real gate script in a VM sandbox with faked Octokit/timers, covering mergeable/conflict/stale-head/uncertain/bypass paths, HTTP status handling, network error classification, and secret redaction.
  • pr-mergeability-workflow-wiring.test.js validates workflow structure, concurrency group expressions, authorization predicates, and an 18-scenario E2E truth table.
  • ocr-notifier-classification.test.js covers the notifier classification script with marker-based and artifact-fallback scenarios, plus contradictory-durable-outcome fail-closed behavior.
  • pr-mergeability-workflow-test-helpers.js uses real git repositories to verify immutable head binding in the pr-review.yml fetch step.
  • Existing OCR workflow tests were updated to reflect the moved notifier and new gate job.

Verdict

Ready. The implementation is well-tested with behavioral tests that execute real production scripts, properly scopes permissions, and preserves fail-open semantics for transient uncertainty. Minor suggestion: consider adding a test case for mergeable: null followed by a permanent non-retryable HTTP error mid-poll to document the precedence of permanent failures over transient ones.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/ocr-infrastructure-notifier.yml:
- Around line 233-258: Update the existing-issue lookups in the primary search
and the recheck search within the OCR infrastructure notifier to use ascending
creation order, matching the keeper selected by
converge_duplicate_tracking_issues. Preserve the title filtering and
empty-result behavior so the issue receiving the diagnostic comment is the
canonical issue retained during convergence.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 4260d094-b596-4ea9-95ae-1584b8120bc2

📥 Commits

Reviewing files that changed from the base of the PR and between a20e30f and 85ee4b8.

⛔ Files ignored due to path filters (1)
  • project-plans/issue2587.md is excluded by !project-plans/**
📒 Files selected for processing (11)
  • .github/workflows/_pr-mergeability-gate.yml
  • .github/workflows/e2e.yml
  • .github/workflows/ocr-infrastructure-notifier.yml
  • .github/workflows/ocr-review.yml
  • .github/workflows/pr-review.yml
  • scripts/tests/ocr-notifier-classification.test.js
  • scripts/tests/ocr-review-workflow-behaviors.test.js
  • scripts/tests/ocr-review-workflow.test.js
  • scripts/tests/pr-mergeability-gate.test.js
  • scripts/tests/pr-mergeability-workflow-test-helpers.js
  • scripts/tests/pr-mergeability-workflow-wiring.test.js

Comment thread .github/workflows/ocr-infrastructure-notifier.yml
Comment thread .github/workflows/_pr-mergeability-gate.yml
Comment thread .github/workflows/_pr-mergeability-gate.yml
Comment thread .github/workflows/e2e.yml
Comment thread .github/workflows/ocr-infrastructure-notifier.yml
Comment thread .github/workflows/ocr-review.yml
Comment thread scripts/tests/ocr-notifier-classification.test.js
Comment thread scripts/tests/ocr-notifier-classification.test.js
Comment thread .github/workflows/ocr-review.yml
Comment thread scripts/tests/ocr-notifier-classification.test.js
Comment thread scripts/tests/ocr-review-workflow.test.js
Comment thread scripts/tests/ocr-review-workflow.test.js
Comment thread scripts/tests/ocr-review-workflow.test.js
Comment thread scripts/tests/ocr-review-workflow.test.js
Comment thread scripts/tests/pr-mergeability-workflow-test-helpers.js
Comment thread scripts/tests/pr-mergeability-workflow-test-helpers.js
Comment thread scripts/tests/pr-mergeability-workflow-test-helpers.js
@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

OpenCodeReview — PR #2661

  • Reviewed head SHA: d5d2abfa372cd91b83c358094736420712921fdd
  • Merge base: a20e30f14609ceca070fed5140510bbb36daee28
  • OCR version: open-code-review v1.7.9 (a32f852) linux/amd64 built at: 2026-07-14T03:41:57Z https://github.com/alibaba/open-code-review
  • Phase: review
  • Exit code: 0
  • Run: https://github.com/vybestack/llxprt-code/actions/runs/30071408663
  • 16 finding(s) (15 posted inline).
  • Artifacts: ocr-review-output contains raw JSON, stdout, stderr, preview, phase, and exit-code diagnostics.

Findings without a resolvable position

  • scripts/tests/ocr-review-workflow.test.js: > The removed sanitization security tests (exact OCR secret redaction, regex metacharacters, credential patterns, LLM URL redaction, and fail-closed behavior) were not migrated to the new notifier workflow test file. These tests validate a critical security guarantee: that OCR diagnostic output does not leak secrets into public infrastructure issues. Since the sanitization logic was moved to .github/workflows/ocr-infrastructure-notifier.yml, equivalent test coverage must exist in scripts/tests/ocr-notifier-classification.test.js or another notifier-specific test file. Please migrate or restore these security tests to ensure the sanitization contract remains validated after the refactoring. (line 456-458)

@acoliver

Copy link
Copy Markdown
Collaborator Author

OCR findings triage: evaluated all 16 automated threads against the current source. No additional code changes were warranted. The comments concerned optional jitter for five bounded API reads, deliberately bounded transient-error classification, expression/test-helper maintainability, non-idempotent write retries, whole-run cancellation semantics, trusted fixed notification text, workflow_run-only configuration, test diagnostics, and fixed-fixture helper values. The duplicate cancelled-outcome comment describes behavior that cannot be guaranteed after workflow-level cancellation. All findings were resolved after evaluation. The one functional CodeRabbit finding was fixed separately in commit 63c1c8a and verified with a regression contract plus the full project verification suite.

Comment thread .github/workflows/_pr-mergeability-gate.yml
Comment thread .github/workflows/ocr-infrastructure-notifier.yml
Comment thread scripts/tests/ocr-notifier-classification.test.js
Comment thread scripts/tests/ocr-notifier-classification.test.js
Comment thread .github/workflows/ocr-review.yml
Comment thread scripts/tests/ocr-review-workflow.test.js
Comment thread scripts/tests/ocr-review-workflow.test.js
Comment thread scripts/tests/ocr-review-workflow.test.js
Comment thread scripts/tests/pr-mergeability-workflow-test-helpers.js
Comment thread scripts/tests/pr-mergeability-workflow-test-helpers.js

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/_pr-mergeability-gate.yml:
- Around line 104-110: Update getPullWithTimeout to replace the unsupported
request.timeout option with request.signal set to
AbortSignal.timeout(REQUEST_TIMEOUT_MS), ensuring the pulls.get request is
aborted at the intended deadline.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 3cba3667-4a25-4ea8-9d3d-8a9ac3d13c51

📥 Commits

Reviewing files that changed from the base of the PR and between a20e30f and 63c1c8a.

⛔ Files ignored due to path filters (1)
  • project-plans/issue2587.md is excluded by !project-plans/**
📒 Files selected for processing (11)
  • .github/workflows/_pr-mergeability-gate.yml
  • .github/workflows/e2e.yml
  • .github/workflows/ocr-infrastructure-notifier.yml
  • .github/workflows/ocr-review.yml
  • .github/workflows/pr-review.yml
  • scripts/tests/ocr-notifier-classification.test.js
  • scripts/tests/ocr-review-workflow-behaviors.test.js
  • scripts/tests/ocr-review-workflow.test.js
  • scripts/tests/pr-mergeability-gate.test.js
  • scripts/tests/pr-mergeability-workflow-test-helpers.js
  • scripts/tests/pr-mergeability-workflow-wiring.test.js

Comment thread .github/workflows/_pr-mergeability-gate.yml
Comment thread .github/workflows/_pr-mergeability-gate.yml
Comment thread .github/workflows/e2e.yml
Comment thread .github/workflows/e2e.yml
Comment thread scripts/tests/ocr-notifier-classification.test.js
Comment thread scripts/tests/pr-mergeability-workflow-test-helpers.js
Comment thread scripts/tests/pr-mergeability-workflow-test-helpers.js
Comment thread scripts/tests/pr-mergeability-workflow-test-helpers.js
Comment thread scripts/tests/pr-mergeability-gate.test.js
Comment thread scripts/tests/pr-mergeability-workflow-wiring.test.js
Comment thread scripts/tests/pr-mergeability-workflow-wiring.test.js
@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage Summary

Package Lines Statements Functions Branches
CLI 59.18% 59.18% 60.54% 82.46%
Core 79.08% 79.08% 76.59% 84.17%
CLI Package - Full Text Report
-------------------|---------|----------|---------|---------|-------------------
File               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
-------------------|---------|----------|---------|---------|-------------------
All files          |   59.18 |    82.46 |   60.54 |   59.18 |                   
 src               |   83.95 |     80.2 |   94.11 |   83.95 |                   
  cli.tsx          |   85.87 |    77.77 |     100 |   85.87 | ...92-293,340-342 
  ...tBootstrap.ts |   96.77 |    85.71 |     100 |   96.77 | 67                
  cliBootstrap.tsx |   82.31 |     75.6 |     100 |   82.31 | ...46-151,176-181 
  ...oviderInit.ts |   81.63 |    72.13 |     100 |   81.63 | ...52-254,270-273 
  cliSandbox.ts    |    94.3 |    89.47 |     100 |    94.3 | ...56-157,163-165 
  ...nBootstrap.ts |   71.42 |    63.63 |   83.33 |   71.42 | ...54-264,269-270 
  ...nalSession.ts |   52.86 |       60 |   83.33 |   52.86 | ...10,213-217,221 
  ...st-helpers.ts |       0 |        0 |       0 |       0 | 1-50              
  ...ractiveCli.ts |   90.26 |    84.95 |   90.47 |   90.26 | ...28-530,560-561 
  ...liCommands.ts |   97.29 |       70 |     100 |   97.29 | 40-41             
  ...CliSupport.ts |   91.87 |    82.05 |     100 |   91.87 | ...74,392-393,469 
  ...viderGuard.ts |    98.3 |    94.73 |     100 |    98.3 | 106               
  ...activeAuth.ts |     100 |      100 |     100 |     100 |                   
 src/auth          |      75 |    66.66 |     100 |      75 |                   
  ...gs-adapter.ts |      75 |    66.66 |     100 |      75 | 71-73,76,82-91    
 src/commands      |   78.35 |      100 |   44.44 |   78.35 |                   
  extensions.tsx   |   55.88 |      100 |       0 |   55.88 | 25-38,42          
  hooks.ts         |   61.53 |      100 |       0 |   61.53 | 14-17,20          
  mcp.ts           |   94.11 |      100 |      50 |   94.11 | 26                
  skills.tsx       |     100 |      100 |     100 |     100 |                   
  utils.ts         |     100 |      100 |     100 |     100 |                   
 ...nds/extensions |   74.22 |    93.08 |   67.69 |   74.22 |                   
  config.ts        |   93.93 |    91.83 |     100 |   93.93 | ...72-173,204-209 
  disable.ts       |     100 |      100 |     100 |     100 |                   
  enable.ts        |     100 |      100 |     100 |     100 |                   
  install.ts       |   80.48 |    76.92 |    87.5 |   80.48 | ...63,199,202-209 
  link.ts          |   64.81 |    83.33 |      25 |   64.81 | 31,54-65,67-72    
  list.ts          |      90 |      100 |   33.33 |      90 | 35-37             
  new.ts           |     100 |      100 |     100 |     100 |                   
  settings.ts      |   72.13 |      100 |      70 |   72.13 | 32-80,218-222,225 
  uninstall.ts     |   78.43 |      100 |   66.66 |   78.43 | 54-59,62-66       
  update.ts        |   10.06 |      100 |       0 |   10.06 | ...73-192,194-199 
  utils.ts         |   13.33 |      100 |       0 |   13.33 | 29-60             
  validate.ts      |   90.47 |       90 |      80 |   90.47 | 70-73,80,135-139  
 .../hooks/scripts |       0 |        0 |       0 |       0 |                   
  on-start.js      |       0 |        0 |       0 |       0 | 1-8               
 ...les/mcp-server |       0 |        0 |       0 |       0 |                   
  example.js       |       0 |        0 |       0 |       0 | 1-60              
 ...commands/hooks |    7.18 |      100 |       0 |    7.18 |                   
  migrate.ts       |    7.18 |      100 |       0 |    7.18 | ...00-210,212-214 
 src/commands/mcp  |   96.95 |    86.15 |   94.44 |   96.95 |                   
  add.ts           |   99.56 |    93.33 |     100 |   99.56 | 142               
  list.ts          |   90.51 |    82.14 |      80 |   90.51 | ...13-115,148-150 
  remove.ts        |     100 |    71.42 |     100 |     100 | 21-25             
 ...ommands/skills |    60.4 |    96.66 |   31.25 |    60.4 |                   
  disable.ts       |      54 |      100 |   33.33 |      54 | 40-52,54-63       
  enable.ts        |   72.22 |      100 |   33.33 |   72.22 | 33-37,39-43       
  install.ts       |   42.69 |      100 |      25 |   42.69 | ...72-101,103-110 
  list.ts          |   84.84 |    92.85 |   33.33 |   84.84 | 69-70,83-87,89-91 
  uninstall.ts     |   57.89 |      100 |   33.33 |   57.89 | 47-64,66-71       
 src/config        |   86.71 |    84.17 |    91.6 |   86.71 |                   
  ...deResolver.ts |   94.64 |    95.45 |     100 |   94.64 | 47-49             
  auth.ts          |   84.21 |    82.35 |     100 |   84.21 | 17-18,21-22,52-53 
  cliArgParser.ts  |   93.36 |    91.11 |     100 |   93.36 | ...22-223,286-289 
  config.ts        |   97.48 |     91.3 |     100 |   97.48 | 216-217,231-235   
  configBuilder.ts |   92.77 |    95.45 |   81.81 |   92.77 | ...64-265,353-361 
  ...mentLoader.ts |    83.6 |    53.84 |     100 |    83.6 | ...33-135,143-146 
  extension.ts     |   75.45 |    89.93 |   81.81 |   75.45 | ...87-988,991-992 
  ...iveContext.ts |   93.79 |    91.66 |     100 |   93.79 | 78,80,86-91,231   
  ...iateConfig.ts |   97.47 |      100 |     100 |   97.47 | 155-157           
  keyBindings.ts   |     100 |      100 |     100 |     100 |                   
  ...CopyEngine.ts |   70.74 |    55.81 |     100 |   70.74 | ...24,329,338-341 
  ...malization.ts |    77.1 |     61.9 |     100 |    77.1 | ...22-323,332-333 
  ...lFsHelpers.ts |   79.68 |       80 |      90 |   79.68 | ...45,154,163-173 
  ...rverConfig.ts |   83.33 |    94.44 |     100 |   83.33 | 23-39             
  ...nciliation.ts |   84.26 |    78.14 |     100 |   84.26 | ...1072,1110-1114 
  ...ationTypes.ts |       0 |        0 |       0 |       0 | 1                 
  pathMigration.ts |   88.42 |    89.31 |     100 |   88.42 | ...52-759,788-793 
  paths.ts         |     100 |      100 |     100 |     100 |                   
  policy.ts        |   80.76 |      100 |      50 |   80.76 | 45-49             
  ...figRuntime.ts |   90.09 |    89.13 |     100 |   90.09 | ...82-589,600-603 
  ...Ephemerals.ts |   70.27 |    66.66 |      75 |   70.27 | 31-32,44-52       
  ...eBootstrap.ts |   92.25 |    89.14 |     100 |   92.25 | ...01-803,812-813 
  profileRepair.ts |   81.66 |       75 |     100 |   81.66 | 42-49,95-97       
  ...Resolution.ts |   78.66 |    76.74 |     100 |   78.66 | ...87-290,303-311 
  ...pplication.ts |   92.48 |       80 |     100 |   92.48 | ...,95-96,113,183 
  ...elResolver.ts |      96 |    96.87 |     100 |      96 | 58-59,96          
  reconcileLock.ts |   89.07 |    70.37 |     100 |   89.07 | ...49-150,153-154 
  sandboxConfig.ts |   69.81 |    51.48 |   88.46 |   69.81 | ...80-581,593-594 
  ...oxProfiles.ts |    8.53 |      100 |       0 |    8.53 | 47-48,51-129      
  settingPaths.ts  |     100 |      100 |     100 |     100 |                   
  ...validation.ts |   86.99 |    80.62 |     100 |   86.99 | ...02,404,406,408 
  settings.ts      |   83.55 |    86.73 |   69.23 |   83.55 | ...74-475,522-523 
  ...ingsLegacy.ts |    70.9 |    81.81 |     100 |    70.9 | 48-52,56-67       
  ...ingsLoader.ts |   94.11 |    81.39 |     100 |   94.11 | ...78,108-109,137 
  settingsMerge.ts |   99.51 |    95.65 |     100 |   99.51 | 128-129           
  ...Migrations.ts |   95.67 |    91.66 |     100 |   95.67 | 22-24,48-49,55-56 
  ...ingsSchema.ts |     100 |      100 |     100 |     100 |                   
  ...Governance.ts |   95.12 |    91.17 |     100 |   95.12 | 46-47,128-131     
  ...tedFolders.ts |   95.58 |       96 |     100 |   95.58 | 93,120-126        
  welcomeConfig.ts |   22.41 |      100 |       0 |   22.41 | ...71,74-79,82-83 
  yargsOptions.ts  |   98.74 |    96.77 |    87.5 |   98.74 | 144,153-156       
 ...fig/extensions |   78.21 |    84.27 |   88.97 |   78.21 |                   
  consent.ts       |   88.03 |    85.71 |     100 |   88.03 | ...77-378,381-382 
  ...ionConsent.ts |   87.38 |    76.66 |     100 |   87.38 | ...,64-67,113-116 
  ...Enablement.ts |   94.05 |       96 |     100 |   94.05 | ...14-220,283-285 
  ...sionLoader.ts |   89.76 |    85.18 |     100 |   89.76 | ...25-526,546-547 
  ...onSettings.ts |     100 |      100 |     100 |     100 |                   
  github.ts        |   61.73 |    81.73 |      68 |   61.73 | ...49-650,660-663 
  hookSchema.ts    |      97 |    91.66 |     100 |      97 | 147-148,210       
  ...reResolver.ts |   80.53 |    80.59 |    90.9 |   80.53 | ...44,347-348,356 
  ...ntegration.ts |   55.31 |    84.78 |      50 |   55.31 | ...61,402,426-427 
  ...ingsPrompt.ts |      73 |    94.73 |      80 |      73 | 92-121            
  ...ngsStorage.ts |   85.57 |    77.19 |     100 |   85.57 | ...05-306,324-327 
  update.ts        |   69.52 |    52.94 |   85.71 |   69.52 | ...73-201,218-226 
  ...ableSchema.ts |     100 |      100 |     100 |     100 |                   
  variables.ts     |   95.55 |       90 |     100 |   95.55 | 33-34             
 ...ettings-schema |   99.79 |       60 |     100 |   99.79 |                   
  schema-core.ts   |     100 |      100 |     100 |     100 |                   
  ...extensions.ts |     100 |      100 |     100 |     100 |                   
  ...a-security.ts |   99.44 |       50 |     100 |   99.44 | 16-17             
  schema-tail.ts   |   99.52 |       50 |     100 |   99.52 | 13-14             
  schema-ui.ts     |     100 |      100 |     100 |     100 |                   
  schema.ts        |     100 |      100 |     100 |     100 |                   
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/constants     |     100 |      100 |     100 |     100 |                   
  historyLimits.ts |     100 |      100 |     100 |     100 |                   
 src/extensions    |   65.02 |    61.81 |      75 |   65.02 |                   
  ...utoUpdater.ts |   65.02 |    61.81 |      75 |   65.02 | ...69-470,479,481 
 ...egration-tests |   71.66 |    83.33 |   85.71 |   71.66 |                   
  ...st-helpers.ts |       0 |        0 |       0 |       0 | 1-79              
  test-utils.ts    |   91.97 |     86.2 |    92.3 |   91.97 | ...45,263-264,274 
 src/launcher      |   94.63 |    86.12 |   90.19 |   94.63 |                   
  ...ate-policy.ts |     100 |      100 |     100 |     100 |                   
  ...y-resolver.ts |   91.39 |    92.85 |   85.71 |   91.39 | 121-128           
  bun-launcher.ts  |   96.31 |    85.96 |   88.88 |   96.31 | 35-43             
  ...h-resolver.ts |   93.79 |    81.81 |    90.9 |   93.79 | ...14-316,339-340 
 ...viders/logging |   89.31 |     92.5 |   69.23 |   89.31 |                   
  ...rvice-impl.ts |   44.44 |      100 |       0 |   44.44 | 21-22,25-30,36-37 
  git-stats.ts     |   96.46 |     92.5 |     100 |   96.46 | 154-155,195-196   
 src/runtime       |   73.15 |    66.66 |   73.68 |   73.15 |                   
  ...chedClient.ts |     100 |      100 |     100 |     100 |                   
  ...lScheduler.ts |   71.95 |    64.28 |   72.22 |   71.95 | ...64-386,402-404 
 src/services      |   85.91 |       85 |   94.87 |   85.91 |                   
  ...mandLoader.ts |   80.74 |    73.33 |      80 |   80.74 | ...07-121,165-183 
  ...andService.ts |     100 |      100 |     100 |     100 |                   
  ...mandLoader.ts |   91.91 |    86.27 |     100 |   91.91 | ...11-216,303-310 
  ...omptLoader.ts |    67.7 |    68.96 |     100 |    67.7 | ...73,179-185,200 
  ...tArgParser.ts |     100 |    94.28 |     100 |     100 | 42,72             
  performResume.ts |   89.11 |    89.18 |     100 |   89.11 | ...59-262,268-269 
  types.ts         |       0 |        0 |       0 |       0 | 1                 
 ...mpt-processors |      98 |     93.1 |     100 |      98 |                   
  ...tProcessor.ts |     100 |      100 |     100 |     100 |                   
  ...lProcessor.ts |   97.88 |    92.72 |     100 |   97.88 | 88-89,273-274     
  types.ts         |     100 |      100 |     100 |     100 |                   
 ...o-continuation |   86.84 |    84.09 |   94.73 |   86.84 |                   
  ...ionService.ts |   86.84 |    84.09 |   94.73 |   86.84 | ...16,583,609-610 
 src/session       |   82.09 |    83.01 |   86.66 |   82.09 |                   
  debugLog.ts      |      60 |       50 |     100 |      60 | 12-16             
  ...rReporting.ts |   79.68 |    86.36 |     100 |   79.68 | 39-41,44-52,59-60 
  ...ractiveUI.tsx |   84.57 |      100 |   71.42 |   84.57 | ...62-264,274-283 
  ...rReporting.ts |     100 |      100 |     100 |     100 |                   
  ...iveSession.ts |   78.91 |       55 |      75 |   78.91 | ...51-254,271-288 
  ...tListeners.ts |     100 |      100 |     100 |     100 |                   
  ...alHandlers.ts |   81.37 |    88.57 |      90 |   81.37 | ...,94-97,112-113 
  ...nalCleanup.ts |   85.71 |       50 |     100 |   85.71 | 21                
 src/test-utils    |   76.81 |    82.25 |   37.68 |   76.81 |                   
  assertions.ts    |   76.47 |       50 |     100 |   76.47 | ...40,49-50,59-60 
  async.ts         |       0 |        0 |       0 |       0 | 1-34              
  ...eExtension.ts |     100 |      100 |     100 |     100 |                   
  ...omMatchers.ts |   22.22 |      100 |       0 |   22.22 | 19-49             
  inkFrame.ts      |      65 |    66.66 |   66.66 |      65 | 31-32,40-44       
  mockAgent.ts     |     100 |      100 |      50 |     100 |                   
  ...andContext.ts |     100 |      100 |     100 |     100 |                   
  regex.ts         |     100 |      100 |     100 |     100 |                   
  render.tsx       |   93.96 |    96.66 |   24.48 |   93.96 | ...54-159,266-267 
  ...e-testing.tsx |       0 |        0 |       0 |       0 | 1-56              
  ...iderConfig.ts |       0 |        0 |       0 |       0 | 1-19              
 src/ui            |      49 |       93 |   28.84 |      49 |                   
  App.tsx          |   35.84 |      100 |       0 |   35.84 | 70-101,107-114    
  AppContainer.tsx |     100 |      100 |     100 |     100 |                   
  ...erRuntime.tsx |   17.15 |    33.33 |   16.66 |   17.15 | 73-414            
  ...tionNudge.tsx |       8 |      100 |       0 |       8 | 29-104            
  cliUiRuntime.ts  |   94.75 |    97.14 |   26.61 |   94.75 | ...50,706,723,726 
  colors.ts        |   37.14 |      100 |   20.33 |   37.14 | ...03-304,306-307 
  constants.ts     |     100 |      100 |     100 |     100 |                   
  debug.ts         |     100 |      100 |     100 |     100 |                   
  ...derOptions.ts |     100 |      100 |     100 |     100 |                   
  keyMatchers.ts   |   88.63 |       84 |     100 |   88.63 | 18,20-21,28-29    
  ...ntsEnabled.ts |     100 |      100 |     100 |     100 |                   
  ...submission.ts |     100 |      100 |     100 |     100 |                   
  ...lobalState.ts |     100 |      100 |     100 |     100 |                   
  ...tic-colors.ts |   78.94 |      100 |      60 |   78.94 | 15-16,24-25       
  textConstants.ts |     100 |      100 |     100 |     100 |                   
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/ui/commands   |   72.32 |    78.57 |   78.94 |   72.32 |                   
  aboutCommand.ts  |   82.84 |       50 |   91.66 |   82.84 | ...92-193,195-196 
  authCommand.ts   |    58.9 |    79.54 |   81.25 |    58.9 | ...91-641,653-656 
  ...urlCommand.ts |      68 |       75 |     100 |      68 | 47-62             
  bugCommand.ts    |   71.42 |    30.76 |     100 |   71.42 | ...00-111,146-154 
  chatCommand.ts   |   70.06 |    80.28 |   66.66 |   70.06 | ...53-554,602-613 
  ...Validation.ts |     100 |     91.6 |     100 |     100 | ...08,218,234,361 
  clearCommand.ts  |   86.66 |    85.71 |     100 |   86.66 | 81-88             
  ...essCommand.ts |   93.47 |    86.04 |     100 |   93.47 | ...,67-71,111-112 
  ...nueCommand.ts |     100 |      100 |     100 |     100 |                   
  copyCommand.ts   |     100 |      100 |     100 |     100 |                   
  debugCommands.ts |   13.81 |      100 |       0 |   13.81 | ...52,459,466,473 
  ...st-helpers.ts |   89.81 |     91.3 |   54.54 |   89.81 | ...4,96-97,99-100 
  ...icsCommand.ts |   78.08 |    51.64 |   94.11 |   78.08 | ...11-514,529-534 
  ...ticsTokens.ts |   92.05 |    90.24 |     100 |   92.05 | ...,63-68,103-104 
  ...ryCommand.tsx |    89.5 |    84.84 |     100 |    89.5 | ...26-134,201-209 
  docsCommand.ts   |     100 |      100 |     100 |     100 |                   
  ...extCommand.ts |   96.22 |    89.65 |     100 |   96.22 | 220-225           
  editorCommand.ts |     100 |      100 |     100 |     100 |                   
  ...onsCommand.ts |   41.27 |    88.09 |    62.5 |   41.27 | ...23-380,390-538 
  ...ionSection.ts |   83.33 |    93.33 |     100 |   83.33 | 28-34             
  helpCommand.ts   |     100 |      100 |     100 |     100 |                   
  hooksCommand.ts  |   79.49 |    80.82 |   92.85 |   79.49 | ...02,511-512,626 
  ideCommand.ts    |   69.87 |    74.28 |   69.23 |   69.87 | ...36-237,240-255 
  initCommand.ts   |   81.01 |    71.42 |   66.66 |   81.01 | 38-42,44-91       
  keyCommand.ts    |   91.33 |    84.44 |     100 |   91.33 | ...86,465-470,592 
  ...ileCommand.ts |    10.9 |      100 |       0 |    10.9 | 22-46,53-141      
  ...ingCommand.ts |   10.27 |      100 |       0 |   10.27 | ...19-572,589-601 
  logoutCommand.ts |   56.52 |    66.66 |      75 |   56.52 | ...-84,97-103,108 
  lspCommand.ts    |    93.8 |    85.36 |     100 |    93.8 | 43,95-100         
  mcpAuth.ts       |   90.43 |       80 |   66.66 |   90.43 | 32-41,86-87       
  mcpCommand.ts    |   96.25 |    87.87 |     100 |   96.25 | 87-92             
  mcpDisplay.ts    |   84.12 |    81.73 |   93.75 |   84.12 | ...47-448,492-493 
  memoryCommand.ts |   87.45 |    75.47 |     100 |   87.45 | ...47,235-249,298 
  modelCommand.ts  |   98.92 |    93.02 |     100 |   98.92 | 120               
  mouseCommand.ts  |     100 |      100 |     100 |     100 |                   
  ...onsCommand.ts |    93.9 |    88.88 |     100 |    93.9 | 58-62             
  ...iesCommand.ts |   97.79 |    87.75 |     100 |   97.79 | 24,34-35          
  ...acyCommand.ts |   61.53 |      100 |       0 |   61.53 | 22-26             
  ...ileCommand.ts |   59.14 |    55.55 |   63.63 |   59.14 | ...90-531,552-568 
  profileLoad.ts   |   52.08 |       60 |    87.5 |   52.08 | ...45,172,183-187 
  ...adBalancer.ts |   81.36 |    84.61 |     100 |   81.36 | ...20-321,347-352 
  ...ileSchemas.ts |   67.11 |    81.81 |     100 |   67.11 | ...18-230,262-267 
  ...derCommand.ts |    57.8 |       42 |      80 |    57.8 | ...80-381,390-395 
  quitCommand.ts   |   29.26 |      100 |       0 |   29.26 | 18-50             
  ...oreCommand.ts |   90.27 |    83.33 |     100 |   90.27 | ...70-175,208-213 
  setCommand.ts    |   86.32 |    84.28 |     100 |   86.32 | ...91-200,217-222 
  ...mandSchema.ts |   71.57 |    81.81 |   84.61 |   71.57 | ...05,232-240,295 
  ...ngsCommand.ts |     100 |      100 |     100 |     100 |                   
  setupCommand.ts  |     100 |      100 |     100 |     100 |                   
  ...hubCommand.ts |   90.47 |    82.85 |     100 |   90.47 | ...13-216,223-227 
  skillsCommand.ts |   82.78 |       75 |     100 |   82.78 | ...91-292,305-306 
  statsCommand.ts  |   57.25 |    86.66 |   58.33 |   57.25 | ...04-216,234-235 
  statsQuota.ts    |   79.47 |       75 |   83.33 |   79.47 | ...15-316,349-353 
  ...entCommand.ts |   76.72 |    69.73 |   81.81 |   76.72 | ...09-615,626-632 
  tasksCommand.ts  |   75.83 |       75 |     100 |   75.83 | ...51-156,202-210 
  ...tupCommand.ts |     100 |      100 |     100 |     100 |                   
  themeCommand.ts  |     100 |      100 |     100 |     100 |                   
  todoCommand.ts   |    78.5 |    71.62 |     100 |    78.5 | ...48-460,468-472 
  ...Formatters.ts |   48.93 |    71.42 |   33.33 |   48.93 | ...5,70-86,92-113 
  ...Operations.ts |   77.06 |       75 |   85.71 |   77.06 | ...10-424,430-437 
  ...matCommand.ts |   26.66 |      100 |       0 |   26.66 | 33-92             
  ...keyCommand.ts |   98.88 |     92.3 |     100 |   98.88 | 34                
  ...ileCommand.ts |    99.1 |    94.11 |     100 |    99.1 | 36                
  toolsCommand.ts  |   86.71 |    73.23 |     100 |   86.71 | ...64,295,326-327 
  types.ts         |     100 |      100 |     100 |     100 |                   
  ...ileCommand.ts |   27.77 |        0 |       0 |   27.77 | 11-23             
  vimCommand.ts    |   44.44 |      100 |       0 |   44.44 | 15-25             
 ...ommands/schema |   96.06 |    92.54 |   94.11 |   96.06 |                   
  index.ts         |   95.84 |    91.58 |     100 |   95.84 | ...07-211,222-223 
  schemaHelpers.ts |   97.02 |    96.22 |     100 |   97.02 | 67-68,115-117     
  types.ts         |       0 |        0 |       0 |       0 | 1                 
 src/ui/components |    11.9 |    38.56 |    7.51 |    11.9 |                   
  AboutBox.tsx     |   13.25 |      100 |       0 |   13.25 | ...80-102,106-134 
  AnsiOutput.tsx   |    8.33 |      100 |       0 |    8.33 | 25-90             
  AppHeader.tsx    |   21.87 |      100 |       0 |   21.87 | 27-57             
  AsciiArt.ts      |     100 |      100 |     100 |     100 |                   
  AuthDialog.tsx   |    5.22 |      100 |       0 |    5.22 | ...27-232,235-314 
  ...nProgress.tsx |       0 |        0 |       0 |       0 | 1-63              
  ...Indicator.tsx |   15.15 |      100 |       0 |   15.15 | 17-47             
  ...firmation.tsx |   15.97 |      100 |       0 |   15.97 | 60-135,144-209    
  ...tsDisplay.tsx |    12.5 |      100 |       0 |    12.5 | ...6,60-65,69-142 
  CliSpinner.tsx   |       0 |        0 |       0 |       0 | 1-22              
  Composer.tsx     |     8.1 |      100 |       0 |     8.1 | 17-32,45-100      
  ...entPrompt.tsx |   18.75 |      100 |       0 |   18.75 | 21-51             
  ...ryDisplay.tsx |   21.05 |      100 |       0 |   21.05 | 17-35             
  ...ryDisplay.tsx |    4.65 |      100 |       0 |    4.65 | 30-108,111-175    
  ...geDisplay.tsx |       0 |        0 |       0 |       0 | 1-37              
  ...gProfiler.tsx |   16.86 |      100 |       0 |   16.86 | ...73-118,122-222 
  ...esDisplay.tsx |   10.52 |      100 |       0 |   10.52 | 24-82             
  ...ogManager.tsx |    5.82 |      100 |       0 |    5.82 | 72-802,806-830    
  ...ngsDialog.tsx |   13.02 |      100 |       0 |   13.02 | ...49-173,177-248 
  ...rBoundary.tsx |   10.07 |        0 |       0 |   10.07 | ...26-171,189-204 
  ...ustDialog.tsx |   16.34 |      100 |       0 |   16.34 | ...2,70-81,84-143 
  Footer.tsx       |    12.6 |        0 |       0 |    12.6 | ...49-653,657-726 
  Header.tsx       |    17.5 |      100 |       0 |    17.5 | 22-62             
  Help.tsx         |    6.84 |      100 |       0 |    6.84 | ...87-190,194-206 
  ...emDisplay.tsx |   11.66 |      100 |       0 |   11.66 | 54-246,249-287    
  ...usDisplay.tsx |       0 |        0 |       0 |       0 | 1-47              
  InputPrompt.tsx  |     100 |       75 |     100 |     100 | 45                
  ...tsDisplay.tsx |    4.36 |      100 |       0 |    4.36 | ...32-226,229-292 
  ...utManager.tsx |       0 |        0 |       0 |       0 | 1-99              
  ...ileDialog.tsx |    8.33 |      100 |       0 |    8.33 | ...8,72-81,85-152 
  ...Indicator.tsx |   14.92 |      100 |       0 |   14.92 | 21-25,35-97       
  ...ingDialog.tsx |    6.68 |      100 |       0 |    6.68 | ...66-383,387-436 
  ...geDisplay.tsx |       0 |        0 |       0 |       0 | 1-41              
  ModelDialog.tsx  |    3.82 |      100 |       0 |    3.82 | ...79-752,756-842 
  ...tsDisplay.tsx |    3.82 |      100 |       0 |    3.82 | 32-206,209-260    
  ...fications.tsx |   16.66 |      100 |       0 |   16.66 | ...08-139,142-177 
  ...odeDialog.tsx |     7.4 |      100 |       0 |     7.4 | 32-141            
  ...ustDialog.tsx |    5.53 |      100 |       0 |    5.53 | ...36-273,278-313 
  PrepareLabel.tsx |   13.33 |      100 |       0 |   13.33 | 20-48             
  ...ailDialog.tsx |   11.36 |      100 |       0 |   11.36 | ...93-499,503-576 
  ...ineEditor.tsx |    4.34 |      100 |       0 |    4.34 | ...66-552,555-630 
  ...istDialog.tsx |    3.84 |      100 |       0 |    3.84 | ...95-758,761-789 
  ...derDialog.tsx |    2.58 |      100 |       0 |    2.58 | 58-408,411-426    
  ...Indicator.tsx |       0 |        0 |       0 |       0 | 1-21              
  ...ngSpinner.tsx |   33.33 |      100 |       0 |   33.33 | 29-48             
  ...eKeyInput.tsx |       0 |        0 |       0 |       0 | 1-149             
  ...serDialog.tsx |    9.56 |      100 |       0 |    9.56 | ...52-603,611-670 
  ...ryDisplay.tsx |      10 |      100 |       0 |      10 | 21-28,31-75       
  ...ngsDialog.tsx |    9.75 |      100 |       0 |    9.75 | 29-105            
  ...putPrompt.tsx |   14.28 |      100 |       0 |   14.28 | 19-58             
  ...Indicator.tsx |   44.44 |      100 |       0 |   44.44 | 12-17             
  ...MoreLines.tsx |   30.43 |      100 |       0 |   30.43 | 18-38             
  ...estHelpers.ts |       0 |        0 |       0 |       0 | 1-201             
  StatsDisplay.tsx |    7.75 |      100 |       0 |    7.75 | ...21-635,638-709 
  ...usDisplay.tsx |       0 |        0 |       0 |       0 | 1-59              
  StickyHeader.tsx |    7.14 |      100 |       0 |    7.14 | 20-78             
  ...nsDisplay.tsx |    5.83 |      100 |       0 |    5.83 | 39-91,105-181     
  Table.tsx        |    6.77 |      100 |       0 |    6.77 | 31-36,39-99       
  ThemeDialog.tsx  |    3.96 |      100 |       0 |    3.96 | 51-441,444-500    
  ...dGradient.tsx |      25 |      100 |       0 |      25 | 27-46             
  Tips.tsx         |      16 |      100 |       0 |      16 | 17-45             
  TodoPanel.tsx    |     5.9 |      100 |       0 |     5.9 | ...87-244,247-296 
  ...tsDisplay.tsx |   10.05 |      100 |       0 |   10.05 | ...88-227,230-259 
  ToolsDialog.tsx  |   10.63 |      100 |       0 |   10.63 | ...5,41-47,50-123 
  ...ification.tsx |   36.36 |      100 |       0 |   36.36 | 15-22             
  ...ionDialog.tsx |    6.08 |      100 |       0 |    6.08 | 18-104,110-161    
  ...romptHooks.ts |   87.47 |    65.51 |     100 |   87.47 | ...44-348,364-371 
  ...eyHandlers.ts |   24.33 |    33.33 |      50 |   24.33 | ...75-577,581-606 
  ...mptRender.tsx |   53.05 |     31.7 |   72.72 |   53.05 | ...02,314-322,343 
  ...PromptText.ts |   31.08 |    55.55 |   28.57 |   31.08 | ...25-175,179-199 
  ...romptTypes.ts |       0 |        0 |       0 |       0 | 1                 
  ...logActions.ts |    2.59 |      100 |       0 |    2.59 | ...92-562,565-602 
  ...logDisplay.ts |    4.28 |      100 |       0 |    4.28 | 25-120,125-184    
  ...logHelpers.ts |    7.64 |      100 |       0 |    7.64 | ...76-194,201-214 
  ...ialogHooks.ts |     2.8 |      100 |       0 |     2.8 | ...99-600,633-808 
  ...ogKeypress.ts |    1.69 |      100 |       0 |    1.69 | 35-387,482-679    
  ...ialogTypes.ts |       0 |        0 |       0 |       0 | 1                 
  ...alogViews.tsx |    4.13 |      100 |       0 |    4.13 | 31-133,167-378    
  todo-utils.ts    |       0 |        0 |       0 |       0 | 1-7               
 ...leCreateWizard |   19.52 |       75 |    1.13 |   19.52 |                   
  ...aramsStep.tsx |   13.42 |      100 |       0 |   13.42 | ...33-246,258-342 
  ...ationStep.tsx |    7.23 |      100 |       0 |    7.23 | ...35-571,583-651 
  ...onfigStep.tsx |   13.33 |      100 |       0 |   13.33 | 20-26,37-117      
  ...electStep.tsx |    9.73 |      100 |       0 |    9.73 | ...12-279,295-340 
  ...ationMenu.tsx |       0 |        0 |       0 |       0 | 1-102             
  ...eSaveStep.tsx |    7.73 |      100 |       0 |    7.73 | ...75-304,316-394 
  ...ssSummary.tsx |   12.12 |      100 |       0 |   12.12 | 23-88             
  ...electStep.tsx |   18.18 |      100 |       0 |   18.18 | 29-96             
  TextInput.tsx    |    6.56 |      100 |       0 |    6.56 | ...99-109,117-200 
  constants.ts     |     100 |      100 |     100 |     100 |                   
  index.tsx        |   14.17 |      100 |       0 |   14.17 | ...97-226,235-319 
  types.ts         |     100 |      100 |     100 |     100 |                   
  utils.ts         |    15.2 |    83.33 |    7.69 |    15.2 | ...65-367,372-389 
  validation.ts    |   11.23 |      100 |       0 |   11.23 | ...97-104,107-111 
 ...gentManagement |    4.22 |      100 |       0 |    4.22 |                   
  ...entWizard.tsx |    2.91 |      100 |       0 |    2.91 | 30-232,237-312    
  ...ionWizard.tsx |    1.44 |      100 |       0 |    1.44 | 30-592,595-676    
  ...eteDialog.tsx |    5.88 |      100 |       0 |    5.88 | 14-94,104-146     
  ...tEditForm.tsx |    1.77 |      100 |       0 |    1.77 | 30-619,622-640    
  ...tListMenu.tsx |    2.94 |      100 |       0 |    2.94 | 15-264,267-348    
  ...tMainMenu.tsx |   16.66 |      100 |       0 |   16.66 | 22-62             
  ...gerDialog.tsx |    2.39 |      100 |       0 |    2.39 | 29-600,603-679    
  ...tShowView.tsx |    4.76 |      100 |       0 |    4.76 | 25-183,186-243    
  index.ts         |     100 |      100 |     100 |     100 |                   
  types.ts         |     100 |      100 |     100 |     100 |                   
 ...comeOnboarding |   13.67 |        0 |       0 |   13.67 |                   
  ...ethodStep.tsx |   16.86 |      100 |       0 |   16.86 | 38-123            
  ...ationStep.tsx |    7.35 |      100 |       0 |    7.35 | ...1,59-95,98-177 
  ...etionStep.tsx |    9.84 |      100 |       0 |    9.84 | ...,89-99,103-179 
  ...electStep.tsx |   12.12 |      100 |       0 |   12.12 | ...3,67-75,79-143 
  ...electStep.tsx |   34.48 |      100 |       0 |   34.48 | 51-120            
  SkipExitStep.tsx |    12.5 |      100 |       0 |    12.5 | 18-59             
  ...omeDialog.tsx |   11.76 |      100 |       0 |   11.76 | 51-118,121-166    
  WelcomeStep.tsx  |    10.2 |      100 |       0 |    10.2 | 23-74             
  index.ts         |       0 |        0 |       0 |       0 | 1-13              
 ...nents/messages |    18.9 |       90 |   15.06 |    18.9 |                   
  AiMessage.tsx    |   14.51 |      100 |       0 |   14.51 | 28-95             
  ...geContent.tsx |   20.83 |      100 |       0 |   20.83 | 26-46             
  ...onMessage.tsx |   12.28 |      100 |       0 |   12.28 | 24-86             
  DiffRenderer.tsx |    3.59 |      100 |       0 |    3.59 | ...81-412,415-433 
  ErrorMessage.tsx |   22.22 |      100 |       0 |   22.22 | 16-31             
  InfoMessage.tsx  |   17.24 |      100 |       0 |   17.24 | 19-44             
  ...rlMessage.tsx |   11.36 |      100 |       0 |   11.36 | 18-65             
  ...geMessage.tsx |     100 |      100 |     100 |     100 |                   
  ...ckDisplay.tsx |      20 |      100 |       0 |      20 | 43-64             
  ...onMessage.tsx |    3.04 |      100 |       0 |    3.04 | 36-552,557-636    
  ...upMessage.tsx |    7.55 |      100 |       0 |    7.55 | ...76-269,273-348 
  ToolMessage.tsx  |    4.37 |      100 |       0 |    4.37 | 38-342,358-428    
  ...ltDisplay.tsx |   92.03 |    88.23 |     100 |   92.03 | 55-69,238-240     
  ToolShared.tsx   |   64.61 |       90 |   33.33 |   64.61 | 78-99,102-105     
  UserMessage.tsx  |     100 |      100 |     100 |     100 |                   
  ...llMessage.tsx |   36.36 |      100 |       0 |   36.36 | 17-25             
  ...ngMessage.tsx |    23.8 |      100 |       0 |    23.8 | 17-34             
 ...ponents/shared |    42.3 |    62.09 |   40.77 |    42.3 |                   
  ...ctionList.tsx |    4.31 |      100 |       0 |    4.31 | 36-123,128-206    
  MaxSizedBox.tsx  |   49.79 |    56.75 |   70.58 |   49.79 | ...63-666,670-673 
  ...tonSelect.tsx |   12.76 |      100 |       0 |   12.76 | 66-113            
  ...lableList.tsx |    5.15 |      100 |       0 |    5.15 | 40-267            
  ...ist.hooks.tsx |    3.81 |      100 |       0 |    3.81 | ...70-795,798-835 
  ...lizedList.tsx |   11.49 |      100 |       0 |   11.49 | 28-112            
  ...List.types.ts |     100 |      100 |     100 |     100 |                   
  ...operations.ts |   75.54 |    48.14 |     100 |   75.54 | ...32-233,256-265 
  ...er-reducer.ts |   34.01 |    49.01 |   36.66 |   34.01 | ...30,632,644,687 
  buffer-types.ts  |     100 |      100 |     100 |     100 |                   
  text-buffer.ts   |   75.97 |    78.26 |    29.5 |   75.97 | ...33-635,654-660 
  ...formations.ts |   42.85 |    71.42 |      80 |   42.85 | ...32-139,163-209 
  ...n-handlers.ts |   33.99 |    61.53 |   23.25 |   33.99 | ...47-755,758-762 
  ...st-helpers.ts |       0 |        0 |       0 |       0 | 1-33              
  ...er-actions.ts |   93.84 |     87.5 |     100 |   93.84 | 91-93,100         
  visual-layout.ts |    90.2 |    72.34 |     100 |    90.2 | ...48-350,372-373 
  ...navigation.ts |   53.38 |    61.53 |   73.68 |   53.38 | ...45-366,389-411 
 ...mponents/views |    9.79 |      100 |       0 |    9.79 |                   
  ChatList.tsx     |   20.58 |      100 |       0 |   20.58 | 24-55             
  ...sionsList.tsx |     7.5 |      100 |       0 |     7.5 | 19-103            
  HooksList.tsx    |   10.67 |      100 |       0 |   10.67 | ...18-129,132-147 
  SkillsList.tsx   |    5.79 |      100 |       0 |    5.79 | 18-103            
 src/ui/constants  |   55.78 |     90.9 |      50 |   55.78 |                   
  ...ollections.ts |     100 |      100 |     100 |     100 |                   
  tips.ts          |       0 |        0 |       0 |       0 | 1-164             
 src/ui/containers |       0 |        0 |       0 |       0 |                   
  ...ontroller.tsx |       0 |        0 |       0 |       0 | 1-357             
  UIStateShell.tsx |       0 |        0 |       0 |       0 | 1-15              
 ...ainer/builders |   98.38 |      100 |   83.33 |   98.38 |                   
  ...dUIActions.ts |     100 |      100 |     100 |     100 |                   
  buildUIState.ts  |     100 |      100 |     100 |     100 |                   
  ...onsBuilder.ts |   66.66 |      100 |       0 |   66.66 | 20-21             
  ...ateBuilder.ts |   66.66 |      100 |       0 |   66.66 | 20-21             
 ...ontainer/hooks |    56.6 |    87.54 |   59.37 |    56.6 |                   
  ...pBootstrap.ts |   93.24 |    58.33 |     100 |   93.24 | ...41-248,252-254 
  useAppDialogs.ts |   41.31 |      100 |   42.85 |   41.31 | ...63,182-399,419 
  ...ntHandlers.ts |     100 |      100 |     100 |     100 |                   
  useAppInput.ts   |    5.43 |      100 |       0 |    5.43 | 102-507,510-514   
  useAppLayout.ts  |    7.69 |      100 |       0 |    7.69 | 93-308,311-314    
  ...reenAction.ts |   13.63 |      100 |       0 |   13.63 | 23-41             
  ...nSelection.ts |      20 |      100 |       0 |      20 | 27-48             
  ...hestration.ts |     100 |      100 |     100 |     100 |                   
  ...references.ts |      10 |      100 |       0 |      10 | 51-104            
  ...itHandling.ts |   89.79 |      100 |     100 |   89.79 | 131-139,143       
  ...textBridge.ts |   33.33 |      100 |       0 |   33.33 | 23-30             
  ...tartHotkey.ts |   26.66 |      100 |       0 |   26.66 | 23-33             
  ...omptSubmit.ts |     100 |      100 |     100 |     100 |                   
  ...utHandling.ts |   98.18 |       90 |     100 |   98.18 | 49,148            
  ...yBootstrap.ts |      30 |      100 |       0 |      30 | 28-34             
  ...eybindings.ts |   86.36 |    78.18 |     100 |   86.36 | ...02-204,248-249 
  ...easurement.ts |   15.38 |      100 |       0 |   15.38 | 45-95             
  ...reshAction.ts |   79.45 |     37.5 |     100 |   79.45 | 61,91-94,96-105   
  ...untimeSync.ts |   96.17 |    96.96 |     100 |   96.17 | 204-209           
  ...elTracking.ts |   34.69 |      100 |     100 |   34.69 | 51-95             
  ...laceholder.ts |      15 |      100 |       0 |      15 | 13-18,21-34       
  ...rorTimeout.ts |   17.64 |      100 |       0 |   17.64 | 24-39             
  ...astructure.ts |   73.91 |      100 |      20 |   73.91 | 53,57,61,75-83    
  ...ebugLogger.ts |   17.24 |      100 |       0 |   17.24 | 23-51             
  ...ialization.ts |   98.88 |    94.73 |     100 |   98.88 | 88                
  ...sAutoReset.ts |     100 |       90 |     100 |     100 | 42                
  ...andActions.ts |     100 |      100 |     100 |     100 |                   
  ...eshManager.ts |     100 |      100 |     100 |     100 |                   
  ...uationFlow.ts |    7.14 |      100 |       0 |    7.14 | 57-160            
  ...csTracking.ts |   95.78 |    80.64 |     100 |   95.78 | ...22-123,174-175 
  ...uthBridges.ts |   17.94 |      100 |   33.33 |   17.94 | ...13-138,142-146 
 src/ui/contexts   |   53.55 |    80.89 |   49.01 |   53.55 |                   
  ...chContext.tsx |   88.23 |    66.66 |     100 |   88.23 | 27-28             
  FocusContext.tsx |       0 |        0 |       0 |       0 | 1-11              
  ...ssContext.tsx |    83.3 |    87.89 |    87.5 |    83.3 | ...21-522,572-573 
  MouseContext.tsx |   78.82 |       75 |      80 |   78.82 | ...00-101,111-117 
  ...erContext.tsx |   94.44 |    63.63 |     100 |   94.44 | 125-128           
  ...owContext.tsx |   21.42 |      100 |   33.33 |   21.42 | 34,40-88          
  ...meContext.tsx |   45.27 |    57.14 |      50 |   45.27 | ...47-248,256-257 
  ...lProvider.tsx |    91.8 |    74.62 |     100 |    91.8 | ...94-495,507-508 
  ...onContext.tsx |    3.64 |      100 |       0 |    3.64 | ...04-459,464-471 
  ...teContext.tsx |       0 |        0 |       0 |       0 | 1-57              
  ...gsContext.tsx |      50 |      100 |       0 |      50 | 15-20             
  ...ngContext.tsx |   42.85 |      100 |       0 |   42.85 | 15-22             
  TodoContext.tsx  |   54.54 |      100 |       0 |   54.54 | 28-31,33-36,39-40 
  TodoProvider.tsx |    3.57 |      100 |       0 |    3.57 | 28-185,188-218    
  ...llContext.tsx |     100 |      100 |       0 |     100 |                   
  ...lProvider.tsx |    6.75 |      100 |       0 |    6.75 | 24-118            
  ...nsContext.tsx |      25 |      100 |       0 |      25 | 204-215,218-223   
  ...teContext.tsx |      50 |       50 |      50 |      50 | 251-260,265-266   
  ...deContext.tsx |   11.11 |      100 |       0 |   11.11 | 30-82,85-90       
 src/ui/editors    |   98.18 |     87.5 |     100 |   98.18 |                   
  ...ngsManager.ts |   98.18 |     87.5 |     100 |   98.18 | 59                
 src/ui/hooks      |   68.01 |    85.58 |   68.31 |   68.01 |                   
  ...st-helpers.ts |   91.47 |    81.25 |   68.57 |   91.47 | ...62-163,182-186 
  ...dProcessor.ts |   82.75 |    86.88 |   77.77 |   82.75 | ...02-204,257-269 
  ...sorHelpers.ts |   83.03 |    80.35 |   96.29 |   83.03 | ...50-658,704-705 
  ...rceHelpers.ts |      56 |       50 |   71.42 |      56 | ...68-275,280-288 
  ...etionUtils.ts |   53.36 |    88.23 |   64.28 |   53.36 | 57-207,335        
  index.ts         |       0 |        0 |       0 |       0 | 1-9               
  keyToAnsi.ts     |    42.5 |      100 |       0 |    42.5 | 27-37,47-61       
  ...etionUtils.ts |     100 |    66.66 |     100 |     100 | 49                
  ...dProcessor.ts |   95.61 |       80 |     100 |   95.61 | ...87-288,420-424 
  ...ndHandlers.ts |   17.68 |    27.27 |   22.22 |   17.68 | ...47-648,653-662 
  ...dPathUtils.ts |   96.87 |    92.85 |     100 |   96.87 | ...25-227,271-272 
  ...dProcessor.ts |     100 |      100 |     100 |     100 |                   
  ...sorSupport.ts |   68.85 |    70.83 |   66.66 |   68.85 | ...81-284,302-309 
  ...tionEffect.ts |   90.44 |    84.28 |   92.85 |   90.44 | ...33-434,447-448 
  ...etionTypes.ts |       0 |        0 |       0 |       0 | 1                 
  toolMapping.ts   |   90.81 |    88.88 |   93.33 |   90.81 | ...95-207,226-228 
  ...st-helpers.ts |   75.93 |    75.86 |      24 |   75.93 | ...76-277,279-280 
  ...nateBuffer.ts |      50 |      100 |       0 |      50 | 16-18             
  ...dScrollbar.ts |   97.82 |      100 |     100 |   97.82 | 153-155           
  ...st-helpers.ts |     100 |      100 |     100 |     100 |                   
  ...Completion.ts |   93.01 |    88.35 |     100 |   93.01 | ...96-597,600-601 
  ...uthCommand.ts |   96.42 |    66.66 |     100 |   96.42 | 21                
  ...tIndicator.ts |     100 |     92.3 |     100 |     100 | 57                
  useBanner.ts     |     100 |    83.33 |     100 |     100 | 22,48             
  ...chedScroll.ts |   16.66 |      100 |       0 |   16.66 | 14-32             
  ...ketedPaste.ts |      20 |      100 |       0 |      20 | 20-38             
  ...ompletion.tsx |   97.24 |    82.75 |    90.9 |   97.24 | ...05-207,210-211 
  useCompletion.ts |    92.4 |     87.5 |     100 |    92.4 | 68-69,93-94,98-99 
  ...leMessages.ts |   96.15 |       90 |     100 |   96.15 | 56-57,63          
  ...ntHandlers.ts |   31.25 |      100 |     100 |   31.25 | 43-70,74-82       
  ...fileDialog.ts |   16.12 |      100 |       0 |   16.12 | 17-47             
  ...orSettings.ts |   11.86 |      100 |       0 |   11.86 | 31-87             
  ...AutoUpdate.ts |    8.33 |      100 |       0 |    8.33 | 18-64             
  ...ionUpdates.ts |   75.17 |    80.64 |   77.77 |   75.17 | ...60-261,289-303 
  ...erDetector.ts |     100 |      100 |     100 |     100 |                   
  useFocus.ts      |     100 |      100 |     100 |     100 |                   
  ...olderTrust.ts |   84.67 |    86.95 |     100 |   84.67 | ...12-114,130-131 
  ...BranchName.ts |     100 |       95 |     100 |     100 | 54                
  ...oryManager.ts |   96.61 |    93.18 |     100 |   96.61 | ...70-171,214-215 
  ...splayState.ts |     100 |      100 |     100 |     100 |                   
  ...stListener.ts |   12.12 |      100 |       0 |   12.12 | 18-51             
  ...ivityTimer.ts |   76.19 |    66.66 |     100 |   76.19 | 30-35             
  ...putHistory.ts |    92.5 |    85.71 |     100 |    92.5 | 62-63,71,93-95    
  ...storyStore.ts |     100 |    94.11 |     100 |     100 | 67                
  useKeypress.ts   |   88.88 |       75 |     100 |   88.88 | 31-32             
  ...rdProtocol.ts |       0 |        0 |       0 |       0 | 1-26              
  ...fileDialog.ts |     5.4 |      100 |       0 |     5.4 | 23-69,72-143      
  ...gIndicator.ts |     100 |      100 |     100 |     100 |                   
  useLogger.ts     |   94.11 |      100 |     100 |   94.11 | 28                
  ...oryMonitor.ts |     100 |      100 |     100 |     100 |                   
  useMouse.ts      |   77.77 |    66.66 |     100 |   77.77 | 31-34             
  useMouseClick.ts |     100 |      100 |     100 |     100 |                   
  ...eSelection.ts |     2.2 |      100 |       0 |     2.2 | 51-378,381-427    
  ...hestration.ts |     100 |      100 |     100 |     100 |                   
  ...oviderInfo.ts |       0 |        0 |       0 |       0 | 1-85              
  ...odifyTrust.ts |    9.09 |      100 |       0 |    9.09 | 43-134            
  ...raseCycler.ts |   79.72 |    73.33 |     100 |   79.72 | ...69,75-76,92-94 
  ...cySettings.ts |   85.14 |    77.77 |     100 |   85.14 | ...,75-79,109-120 
  ...Management.ts |    1.48 |      100 |       0 |    1.48 | 22-609,612-674    
  ...Completion.ts |   43.07 |    55.55 |      50 |   43.07 | ...92-305,336-345 
  ...iderDialog.ts |    5.71 |      100 |       0 |    5.71 | 39-77,80-151      
  ...lScheduler.ts |   76.42 |    97.36 |      75 |   76.42 | ...85,301-317,474 
  ...oryCommand.ts |       0 |        0 |       0 |       0 | 1-7               
  useResponsive.ts |     100 |      100 |     100 |     100 |                   
  ...ompletion.tsx |   69.56 |      100 |     100 |   69.56 | 45-47,51-66,78-81 
  useRewind.ts     |     100 |      100 |     100 |     100 |                   
  ...ectionList.ts |   89.78 |     89.1 |     100 |   89.78 | ...17-423,443-447 
  useSession.ts    |       0 |        0 |       0 |       0 | 1-23              
  ...ionBrowser.ts |     100 |      100 |     100 |     100 |                   
  ...serHelpers.ts |   95.79 |    85.21 |   97.36 |   95.79 | ...37-639,762-763 
  ...erKeypress.ts |   89.87 |    97.29 |   94.11 |   89.87 | 101-108,130-145   
  ...ngsCommand.ts |   18.75 |      100 |       0 |   18.75 | 10-25             
  ...hallowMemo.ts |      10 |      100 |       0 |      10 | 9-22,35-47        
  ...ellHistory.ts |   92.24 |    78.78 |     100 |   92.24 | ...82,130-131,141 
  ...Completion.ts |   97.07 |    81.25 |     100 |   97.07 | 71-73,101-102     
  ...oryCommand.ts |       0 |        0 |       0 |       0 | 1-64              
  ...cessorCore.ts |   74.13 |       60 |     100 |   74.13 | ...20,157,177-204 
  ...ompletion.tsx |   96.77 |    81.39 |     100 |   96.77 | ...,93-94,340-348 
  ...leCallback.ts |     100 |      100 |     100 |     100 |                   
  ...tateAndRef.ts |   59.09 |      100 |     100 |   59.09 | 23-31             
  ...oryRefresh.ts |     100 |      100 |     100 |     100 |                   
  ...rminalSize.ts |   10.34 |      100 |       0 |   10.34 | 15-44,49-85       
  ...emeCommand.ts |    4.29 |      100 |       0 |    4.29 | 25-122,125-199    
  useTimer.ts      |    87.5 |    85.71 |     100 |    87.5 | 44-45,50-52       
  ...ntinuation.ts |   91.24 |    89.74 |     100 |   91.24 | ...27-128,154-164 
  ...ePreserver.ts |   57.14 |      100 |      80 |   57.14 | 58-76             
  ...oolsDialog.ts |    3.62 |      100 |       0 |    3.62 | 25-97,100-183     
  ...erGuidance.ts |   92.85 |    85.71 |     100 |   92.85 | 28-29             
  ...Onboarding.ts |    1.92 |      100 |       0 |    1.92 | 79-403,406-487    
  ...eMigration.ts |   11.66 |      100 |       0 |   11.66 | 15-74             
  vim.ts           |   85.73 |     87.8 |    90.9 |   85.73 | ...07-716,832-834 
 ...ks/agentStream |   82.81 |    78.54 |   82.08 |   82.81 |                   
  ...Dispatcher.ts |   47.55 |    35.55 |   56.25 |   47.55 | ...60,362,399-432 
  ...ersistence.ts |    98.3 |    95.34 |     100 |    98.3 | 160-162           
  ...tProcessor.ts |      78 |    77.77 |      80 |      78 | ...47-158,161-163 
  contextLimit.ts  |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  queryPreparer.ts |   63.63 |    46.66 |     100 |   63.63 | ...47-148,151-165 
  streamUtils.ts   |   93.43 |     87.4 |   91.66 |   93.43 | ...94-310,486-488 
  thoughtState.ts  |   93.33 |    68.75 |     100 |   93.33 | 70-71,76-77       
  ...ionHandler.ts |     100 |      100 |     100 |     100 |                   
  ...reparation.ts |   96.42 |    88.88 |     100 |   96.42 | 44                
  types.ts         |       0 |        0 |       0 |       0 | 1-17              
  ...ventStream.ts |   85.03 |    88.46 |      60 |   85.03 | ...73-287,306-307 
  ...gentStream.ts |     100 |      100 |      80 |     100 |                   
  ...mLifecycle.ts |   84.25 |    63.33 |      80 |   84.25 | ...31-232,261-266 
  ...hestration.ts |   99.18 |      100 |   88.88 |   99.18 | 112-113           
  ...ntHandlers.ts |   70.92 |    95.83 |   84.21 |   70.92 | ...39,448-457,516 
  ...treamState.ts |   79.53 |       50 |     100 |   79.53 | ...76,197,233-234 
  ...ubmitQuery.ts |   94.34 |    87.75 |   85.71 |   94.34 | ...81-482,504-506 
 src/ui/layouts    |   83.55 |    56.89 |   83.33 |   83.55 |                   
  ...AppLayout.tsx |   81.18 |    71.42 |   83.33 |   81.18 | ...91-205,321-359 
  ...utHelpers.tsx |   86.31 |     54.9 |   95.23 |   86.31 | ...88-789,810-838 
  ...ainContent.ts |   23.52 |      100 |       0 |   23.52 | 16-22,25-28,31-34 
 ...noninteractive |   74.07 |      100 |    7.14 |   74.07 |                   
  ...eractiveUi.ts |   74.07 |      100 |    7.14 |   74.07 | 17-19,23-24,27-28 
 src/ui/privacy    |   18.77 |        0 |       0 |   18.77 |                   
  ...acyNotice.tsx |       0 |        0 |       0 |       0 | 1-140             
  ...acyNotice.tsx |       0 |        0 |       0 |       0 | 1-59              
  ...acyNotice.tsx |   12.19 |      100 |       0 |   12.19 | 16-62             
  ...acyNotice.tsx |   35.42 |      100 |       0 |   35.42 | 77-172,180-235    
  ...acyNotice.tsx |      20 |      100 |       0 |      20 | 23-59,62-64       
  ...acyNotice.tsx |   13.04 |      100 |       0 |   13.04 | 22-73             
 src/ui/reducers   |    79.5 |    91.66 |      50 |    79.5 |                   
  appReducer.ts    |     100 |      100 |     100 |     100 |                   
  ...ionReducer.ts |       0 |        0 |       0 |       0 | 1-52              
 src/ui/state      |   52.63 |    30.76 |      50 |   52.63 |                   
  extensions.ts    |   52.63 |    30.76 |      50 |   52.63 | ...28,130,134-149 
 src/ui/themes     |   99.04 |    85.65 |   97.61 |   99.04 |                   
  ansi-light.ts    |     100 |      100 |     100 |     100 |                   
  ansi.ts          |     100 |      100 |     100 |     100 |                   
  atom-one-dark.ts |     100 |      100 |     100 |     100 |                   
  ayu-light.ts     |     100 |      100 |     100 |     100 |                   
  ayu.ts           |     100 |      100 |     100 |     100 |                   
  color-utils.ts   |     100 |      100 |     100 |     100 |                   
  default-light.ts |     100 |      100 |     100 |     100 |                   
  default.ts       |     100 |      100 |     100 |     100 |                   
  dracula.ts       |     100 |      100 |     100 |     100 |                   
  github-dark.ts   |     100 |      100 |     100 |     100 |                   
  github-light.ts  |     100 |      100 |     100 |     100 |                   
  googlecode.ts    |     100 |      100 |     100 |     100 |                   
  green-screen.ts  |     100 |      100 |     100 |     100 |                   
  no-color.ts      |     100 |      100 |     100 |     100 |                   
  ...c-resolver.ts |     100 |      100 |     100 |     100 |                   
  ...tic-tokens.ts |     100 |      100 |     100 |     100 |                   
  ...-of-purple.ts |     100 |      100 |     100 |     100 |                   
  theme-compat.ts  |     100 |       50 |     100 |     100 | 79                
  theme-manager.ts |   88.55 |    82.81 |     100 |   88.55 | ...03-312,317-318 
  theme.ts         |   99.09 |     81.3 |   94.11 |   99.09 | 282-283,702-703   
  xcode.ts         |     100 |      100 |     100 |     100 |                   
 src/ui/types      |       0 |        0 |       0 |       0 |                   
  ...ngMetadata.ts |       0 |        0 |       0 |       0 |                   
 src/ui/utils      |   63.33 |    89.51 |   74.26 |   63.33 |                   
  ...Colorizer.tsx |    5.64 |      100 |       0 |    5.64 | ...27-168,180-249 
  ...olePatcher.ts |   72.09 |      100 |   83.33 |   72.09 | 50-61             
  ...nRenderer.tsx |   96.88 |    87.87 |     100 |   96.88 | ...69-271,275-277 
  ...wnDisplay.tsx |       5 |      100 |       0 |       5 | ...90-717,728-732 
  ...eRenderer.tsx |   11.17 |      100 |       0 |   11.17 | ...34-387,394-427 
  ...tGenerator.ts |     100 |    95.83 |   83.33 |     100 | 136               
  ...ketedPaste.ts |      60 |      100 |       0 |      60 | 13-14,17-18       
  clipboard.ts     |   97.29 |    84.61 |     100 |   97.29 | 40                
  ...boardUtils.ts |   62.44 |    76.74 |   83.33 |   62.44 | ...49-263,333-335 
  commandUtils.ts  |   93.02 |    94.44 |   96.15 |   93.02 | ...31-235,316-324 
  computeStats.ts  |     100 |      100 |     100 |     100 |                   
  displayUtils.ts  |     100 |      100 |     100 |     100 |                   
  formatters.ts    |   90.47 |    95.23 |     100 |   90.47 | 57-60             
  fuzzyFilter.ts   |     100 |    96.55 |     100 |     100 | 84                
  highlight.ts     |   77.69 |    97.29 |      60 |   77.69 | 146-172,176-181   
  ...xportUtils.ts |   98.52 |    94.11 |     100 |   98.52 | 137-138           
  ...storyItems.ts |   99.23 |    93.75 |     100 |   99.23 | 109               
  input.ts         |   84.28 |    94.44 |   66.66 |   84.28 | 73-80,106-113     
  isNarrowWidth.ts |      50 |      100 |       0 |      50 | 13-14             
  ...nUtilities.ts |   66.66 |     87.5 |     100 |   66.66 | 75-94,103-104     
  modelIdentity.ts |   99.23 |    98.18 |   84.61 |   99.23 | 169               
  mouse.ts         |   83.05 |    72.41 |     100 |   83.05 | ...94,201,214-215 
  ...mConstants.ts |     100 |      100 |     100 |     100 |                   
  ...opDetector.ts |       0 |        0 |       0 |       0 | 1-210             
  responsive.ts    |   73.39 |    76.66 |   83.33 |   73.39 | ...00-108,111-125 
  rewindFileOps.ts |   92.38 |    71.79 |     100 |   92.38 | ...48-251,291-295 
  ...putHandler.ts |   94.44 |    91.12 |     100 |   94.44 | ...15-316,386-387 
  ...ityManager.ts |   94.92 |    85.71 |    90.9 |   94.92 | ...28,352,380,391 
  ...alContract.ts |     100 |      100 |     100 |     100 |                   
  terminalLinks.ts |     100 |      100 |     100 |     100 |                   
  ...colCleanup.ts |   95.23 |       75 |     100 |   95.23 | 38                
  ...lSequences.ts |     100 |      100 |     100 |     100 |                   
  terminalSetup.ts |   10.72 |      100 |    7.14 |   10.72 | 80-419            
  textUtils.ts     |    93.7 |    92.15 |   88.88 |    93.7 | 20-25,156-157     
  ...Formatters.ts |       0 |        0 |       0 |       0 | 1-50              
  ...icsTracker.ts |     100 |    94.44 |     100 |     100 | 38                
  ui-sizing.ts     |      16 |      100 |       0 |      16 | 11-23,26-36       
  updateCheck.ts   |     100 |    94.11 |     100 |     100 | 35,46             
 src/utils         |   62.96 |    88.91 |   75.89 |   62.96 |                   
  ...ionContext.ts |   76.92 |       75 |     100 |   76.92 | 38-41,63-66,81-84 
  ...Formatting.ts |   94.36 |    93.75 |     100 |   94.36 | 49-50,71-72       
  bootstrap.ts     |     100 |      100 |     100 |     100 |                   
  checks.ts        |   33.33 |      100 |       0 |   33.33 | 23-28             
  cleanup.ts       |   68.25 |       80 |      60 |   68.25 | ...67-69,72,86-95 
  coalesce.ts      |     100 |      100 |     100 |     100 |                   
  commands.ts      |   51.78 |    71.42 |     100 |   51.78 | 25-26,57-85       
  commentJson.ts   |    92.3 |     92.5 |     100 |    92.3 | 94-102            
  ...ScopeUtils.ts |   27.58 |      100 |       0 |   27.58 | 24-41,58-86       
  ...icSettings.ts |   88.07 |    88.09 |     100 |   88.07 | ...73,85-88,91-94 
  ...arResolver.ts |   96.72 |    96.42 |     100 |   96.72 | 118-119           
  errors.ts        |   94.87 |       88 |     100 |   94.87 | 53-54,95-96       
  events.ts        |     100 |      100 |     100 |     100 |                   
  ...lativeTime.ts |     100 |      100 |     100 |     100 |                   
  gitCommitInfo.ts |   90.27 |      100 |     100 |   90.27 | 78-80,103,110-112 
  gitUtils.ts      |   93.54 |       85 |     100 |   93.54 | 61-62,77-80       
  ...AutoUpdate.ts |   69.37 |    80.76 |   77.77 |   69.37 | ...67-268,282-347 
  ...lationInfo.ts |   99.49 |     98.3 |     100 |   99.49 | 59                
  math.ts          |   66.66 |      100 |       0 |   66.66 | 15                
  ...stentState.ts |   95.31 |    84.21 |     100 |   95.31 | 42,63-64          
  readStdin.ts     |   81.03 |    91.66 |   83.33 |   81.03 | 32-39,51-53       
  refusalNotice.ts |     100 |      100 |     100 |     100 |                   
  relaunch.ts      |     100 |      100 |     100 |     100 |                   
  resolvePath.ts   |   66.66 |       25 |     100 |   66.66 | 12-13,16,18-19    
  ...containers.ts |    4.86 |      100 |       0 |    4.86 | ...36-656,660-686 
  ...entrypoint.ts |    9.87 |      100 |       0 |    9.87 | 19-48,51-100      
  sandbox-env.ts   |   74.65 |    77.14 |   66.66 |   74.65 | ...52-153,161-162 
  sandbox-exec.ts  |    8.73 |      100 |    12.5 |    8.73 | 56-321,338-427    
  sandbox-image.ts |    3.96 |      100 |       0 |    3.96 | 12-128            
  ...box-podman.ts |   74.67 |    94.73 |   77.77 |   74.67 | ...50-260,326-399 
  ...x-seatbelt.ts |   28.02 |       50 |   22.22 |   28.02 | ...15-216,226-352 
  sandbox-ssh.ts   |   78.92 |    81.13 |     100 |   78.92 | ...07-308,372-376 
  sandbox.ts       |   13.23 |      100 |       0 |   13.23 | 47-111            
  ...st-helpers.ts |     100 |      100 |     100 |     100 |                   
  ...ionCleanup.ts |   88.88 |    84.21 |     100 |   88.88 | ...42-243,326-327 
  sessionUtils.ts  |    8.86 |      100 |       0 |    8.86 | 52-122,129-143    
  settingsUtils.ts |   85.67 |    91.34 |   94.28 |   85.67 | ...61-489,528-529 
  ...ttingSaver.ts |    1.92 |      100 |       0 |    1.92 | 11-32,40-85       
  skillSettings.ts |   86.13 |       88 |     100 |   86.13 | 99-107,134-138    
  skillUtils.ts    |   71.33 |    70.96 |   83.33 |   71.33 | ...88-189,203-224 
  spawnWrapper.ts  |     100 |      100 |     100 |     100 |                   
  ...upWarnings.ts |     100 |      100 |     100 |     100 |                   
  stdinSafety.ts   |   91.39 |    86.48 |     100 |   91.39 | ...66-167,170,245 
  terminalTheme.ts |     100 |      100 |     100 |     100 |                   
  typeGuards.ts    |   65.38 |      100 |      75 |   65.38 | 26-34             
  ...entEmitter.ts |     100 |      100 |     100 |     100 |                   
  ...upWarnings.ts |     100 |      100 |     100 |     100 |                   
  version.ts       |     100 |      100 |     100 |     100 |                   
  windowTitle.ts   |     100 |      100 |     100 |     100 |                   
 src/utils/privacy |   66.15 |       70 |   76.19 |   66.15 |                   
  ...taRedactor.ts |   81.91 |    71.42 |      80 |   81.91 | ...08-610,616-637 
  ...acyManager.ts |       0 |        0 |       0 |       0 | 1-176             
 ...ed-integration |   74.53 |    75.75 |   77.14 |   74.53 |                   
  ...temService.ts |     100 |      100 |     100 |     100 |                   
  ...tent-utils.ts |    8.62 |       50 |   14.28 |    8.62 | ...06-115,118-164 
  zed-helpers.ts   |      42 |    55.55 |      50 |      42 | ...59-166,168-170 
  ...h-resolver.ts |   73.33 |       56 |   96.15 |   73.33 | ...43-650,654-680 
  ...st-helpers.ts |    98.4 |      100 |   56.66 |    98.4 | 184-186           
  ...ol-handler.ts |   87.65 |     80.9 |   96.15 |   87.65 | ...16-318,365-378 
  ...ntegration.ts |   79.56 |    79.39 |   80.95 |   79.56 | ...13-814,842-844 
-------------------|---------|----------|---------|---------|-------------------
Core Package - Full Text Report
-------------------|---------|----------|---------|---------|-------------------
File               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
-------------------|---------|----------|---------|---------|-------------------
All files          |   79.08 |    84.17 |   76.59 |   79.08 |                   
 src               |     100 |      100 |     100 |     100 |                   
  ...-factories.ts |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
 src/__mocks__/fs  |       0 |        0 |       0 |       0 |                   
  promises.ts      |       0 |        0 |       0 |       0 | 1-48              
 src/adapters      |     100 |      100 |     100 |     100 |                   
  ...eamAdapter.ts |     100 |      100 |     100 |     100 |                   
 src/code_assist   |   80.88 |    80.57 |   82.14 |   80.88 |                   
  codeAssist.ts    |   17.24 |      100 |       0 |   17.24 | 22-44,51-59       
  ...orAdapters.ts |   92.26 |    71.11 |   88.88 |   92.26 | ...05-207,272-275 
  converter.ts     |   95.54 |    93.02 |     100 |   95.54 | 186-190,219-220   
  ...nAIWrapper.ts |     100 |      100 |     100 |     100 |                   
  ...al-storage.ts |   95.86 |    79.48 |     100 |   95.86 | 27-28,86,110,139  
  server.ts        |   48.16 |    72.72 |      50 |   48.16 | ...15-256,259-262 
  setup.ts         |   86.09 |    73.07 |     100 |   86.09 | ...57-159,183-189 
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/commands      |     100 |      100 |     100 |     100 |                   
  extensions.ts    |     100 |      100 |     100 |     100 |                   
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/config        |   70.26 |    79.93 |   58.21 |   70.26 |                   
  ...tLifecycle.ts |   80.34 |    97.05 |      80 |   80.34 | ...49-253,262-286 
  ...skServices.ts |    9.19 |      100 |       0 |    9.19 | ...5,62-80,89-129 
  config.ts        |    62.5 |     80.2 |   58.97 |    62.5 | ...85-794,819-839 
  configBase.ts    |   68.81 |    72.09 |   72.72 |   68.81 | ...48-255,257-261 
  ...igBaseCore.ts |   69.07 |    94.52 |   44.23 |   69.07 | ...35-836,838-839 
  ...onstructor.ts |   96.93 |    88.88 |     100 |   96.93 | ...97-498,501-502 
  ...estHarness.ts |   93.15 |      100 |   83.33 |   93.15 | 229-239,245-248   
  configTypes.ts   |      58 |      100 |      50 |      58 | 215-255           
  constants.ts     |     100 |      100 |     100 |     100 |                   
  ...ngsHelpers.ts |   62.16 |       40 |     100 |   62.16 | ...31,35-36,42-43 
  index.ts         |       0 |        0 |       0 |       0 | 1-41              
  ...ntegration.ts |   63.22 |    75.47 |   73.68 |   63.22 | ...17,434,443,452 
  models.ts        |     100 |      100 |     100 |     100 |                   
  ...rSingleton.ts |   76.22 |    70.37 |   56.25 |   76.22 | ...94,397-400,408 
  ...entManager.ts |   50.76 |    68.91 |   65.21 |   50.76 | ...54-655,681-705 
  ...ingsParser.ts |   41.37 |    33.33 |     100 |   41.37 | 31-48             
  ...tryFactory.ts |   84.61 |    77.35 |   69.23 |   84.61 | ...60,474,492-508 
  types.ts         |       0 |        0 |       0 |       0 |                   
 ...nfirmation-bus |   88.88 |    66.66 |   66.66 |   88.88 |                   
  index.ts         |       0 |        0 |       0 |       0 | 1-2               
  message-bus.ts   |     100 |      100 |     100 |     100 |                   
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/core          |   80.25 |    78.04 |    87.5 |   80.25 |                   
  ...ssionTypes.ts |       0 |        0 |       0 |       0 | 1-90              
  ...ntContract.ts |     100 |      100 |     100 |     100 |                   
  ...tGenerator.ts |   97.43 |    92.59 |     100 |   97.43 | 92-93             
  ...okTriggers.ts |   47.39 |     61.9 |   66.66 |   47.39 | ...51,253,299-304 
  ...igBoundary.ts |       0 |        0 |       0 |       0 | 1                 
  ...okTriggers.ts |   96.09 |    84.37 |     100 |   96.09 | ...22,161,208,250 
  logger.ts        |   78.22 |    80.19 |   94.44 |   78.22 | ...56-470,513-525 
  prompts.ts       |   84.36 |    63.29 |    91.3 |   84.36 | ...60,563,624-625 
  subagentTypes.ts |   83.11 |    68.42 |   77.77 |   83.11 | ...03-304,319-320 
  tokenLimits.ts   |     100 |      100 |     100 |     100 |                   
  ...erContract.ts |     100 |      100 |     100 |     100 |                   
  turn.ts          |     100 |      100 |     100 |     100 |                   
 ...re/compression |   29.71 |       50 |   14.28 |   29.71 |                   
  ...nDirective.ts |    6.25 |      100 |       0 |    6.25 | 22-62             
  types.ts         |   34.96 |       50 |   16.66 |   34.96 | ...20-421,434-436 
 src/debug         |   61.53 |        0 |       0 |   61.53 |                   
  ...ionManager.ts |     100 |      100 |     100 |     100 |                   
  DebugLogger.ts   |     100 |      100 |     100 |     100 |                   
  FileOutput.ts    |     100 |      100 |     100 |     100 |                   
  ...ionManager.ts |       0 |        0 |       0 |       0 | 1-6               
  ...FileOutput.ts |       0 |        0 |       0 |       0 | 1-6               
  index.ts         |     100 |      100 |     100 |     100 |                   
  types.ts         |       0 |        0 |       0 |       0 | 1                 
 src/filters       |   97.79 |    95.55 |     100 |   97.79 |                   
  EmojiFilter.ts   |   97.79 |    95.55 |     100 |   97.79 | ...55-156,363-364 
 src/hooks         |    84.3 |    85.71 |   82.08 |    84.3 |                   
  errors.ts        |     100 |      100 |     100 |     100 |                   
  ...Aggregator.ts |   90.55 |    81.33 |    87.5 |   90.55 | ...58,377,379,381 
  ...sContracts.ts |       0 |        0 |       0 |       0 | 1                 
  ...entHandler.ts |   91.43 |    88.18 |   93.75 |   91.43 | ...50,782-788,833 
  hookPlanner.ts   |   98.79 |    93.33 |     100 |   98.79 | 103               
  hookRegistry.ts  |   97.19 |    88.31 |     100 |   97.19 | ...97,399,401,403 
  hookRunner.ts    |   84.88 |    87.14 |   86.95 |   84.88 | ...37-439,502-505 
  hookSystem.ts    |    64.2 |    88.88 |      65 |    64.2 | ...49-351,364-366 
  ...Translator.ts |   94.11 |    75.67 |     100 |   94.11 | ...68,479,524,529 
  ...Validators.ts |    92.4 |    89.83 |     100 |    92.4 | 57-59,78-80       
  index.ts         |     100 |      100 |     100 |     100 |                   
  ...ssion-hook.ts |   88.88 |    33.33 |     100 |   88.88 | 24,30             
  trustedHooks.ts  |   20.77 |      100 |       0 |   20.77 | ...6,82-90,96-109 
  types.ts         |   63.63 |    89.13 |   60.71 |   63.63 | ...08-509,520-521 
 ...oks/test-utils |       0 |        0 |       0 |       0 |                   
  ...igWithHook.ts |       0 |        0 |       0 |       0 | 1-137             
 src/interfaces    |       0 |        0 |       0 |       0 |                   
  index.ts         |       0 |        0 |       0 |       0 |                   
  ....interface.ts |       0 |        0 |       0 |       0 |                   
 src/llm-types     |   92.44 |    90.72 |   98.46 |   92.44 |                   
  afcHistory.ts    |   79.26 |    68.96 |     100 |   79.26 | ...99-100,102-103 
  ...ssageInput.ts |   86.09 |     86.2 |   97.29 |   86.09 | ...61-462,489-490 
  finishReasons.ts |   97.56 |    83.33 |     100 |   97.56 | 153-154           
  geminiContent.ts |       0 |        0 |       0 |       0 |                   
  grounding.ts     |       0 |        0 |       0 |       0 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  jsonSchema.ts    |     100 |      100 |     100 |     100 |                   
  modelEnvelope.ts |     100 |      100 |     100 |     100 |                   
  modelRequest.ts  |       0 |        0 |       0 |       0 |                   
  ...erApiError.ts |     100 |      100 |     100 |     100 |                   
  ...Embeddings.ts |       0 |        0 |       0 |       0 |                   
  toolCall.ts      |     100 |    98.14 |     100 |     100 | 216               
  ...eclaration.ts |     100 |      100 |     100 |     100 |                   
 src/models        |   89.01 |       90 |   92.68 |   89.01 |                   
  hydration.ts     |    47.1 |    64.28 |      50 |    47.1 | ...09-110,180-260 
  index.ts         |     100 |      100 |     100 |     100 |                   
  profiles.ts      |     100 |      100 |     100 |     100 |                   
  ...ntegration.ts |   95.34 |    89.74 |     100 |   95.34 | ...36-137,200-201 
  registry.ts      |   92.76 |    89.06 |      96 |   92.76 | ...72-273,399-403 
  schema.ts        |     100 |      100 |     100 |     100 |                   
  transformer.ts   |     100 |      100 |     100 |     100 |                   
 src/parsers       |   80.75 |    80.71 |   92.85 |   80.75 |                   
  ...CallParser.ts |   84.59 |     80.4 |    92.3 |   84.59 | ...09-810,813-814 
  ...rg-parsing.ts |   83.37 |    85.71 |   90.47 |   83.37 | ...23-425,501-502 
  ...ll-helpers.ts |   73.94 |     79.5 |   92.85 |   73.94 | ...07-508,514-535 
  ...rser-utils.ts |      76 |    73.33 |     100 |      76 | ...09-110,114-119 
 src/policy        |    72.9 |    76.19 |   88.46 |    72.9 |                   
  config.ts        |   68.06 |    77.19 |   86.36 |   68.06 | ...25,381,458-459 
  index.ts         |     100 |      100 |     100 |     100 |                   
  policy-engine.ts |     100 |      100 |     100 |     100 |                   
  ...cy-helpers.ts |   88.88 |    66.66 |     100 |   88.88 | 31-39             
  ...-stringify.ts |     100 |      100 |     100 |     100 |                   
  toml-loader.ts   |     100 |      100 |     100 |     100 |                   
  types.ts         |     100 |      100 |     100 |     100 |                   
  utils.ts         |     100 |      100 |     100 |     100 |                   
 src/prompt-config |   83.12 |    86.82 |   83.57 |   83.12 |                   
  ...lateEngine.ts |    94.7 |    89.24 |     100 |    94.7 | ...32-435,446-449 
  index.ts         |       0 |      100 |     100 |       0 | 5-42              
  prompt-cache.ts  |    99.1 |    97.43 |     100 |    99.1 | 236-237           
  ...st-helpers.ts |   77.14 |    42.85 |     100 |   77.14 | ...32,42-43,52-53 
  ...-installer.ts |   85.81 |    82.92 |   92.85 |   85.81 | ...23-827,834-835 
  prompt-loader.ts |    90.9 |    92.56 |   92.85 |    90.9 | ...13-530,540-541 
  ...t-resolver.ts |   50.38 |       84 |      50 |   50.38 | ...22-423,428-527 
  ...pt-service.ts |   85.32 |    83.18 |   80.95 |   85.32 | ...28,545-552,583 
  ...delegation.ts |   93.54 |     90.9 |     100 |   93.54 | 34-35             
  types.ts         |     100 |      100 |     100 |     100 |                   
 ...onfig/defaults |   56.38 |    46.03 |   85.41 |   56.38 |                   
  core-defaults.ts |      48 |     41.5 |   78.57 |      48 | ...55,365,371-379 
  index.ts         |     100 |      100 |     100 |     100 |                   
  ...est-loader.ts |   81.81 |       80 |     100 |   81.81 | ...02-108,116-120 
  ...t-warnings.ts |    92.3 |    33.33 |     100 |    92.3 | 18-19             
  ...r-defaults.ts |   52.51 |    35.29 |   84.61 |   52.51 | ...24,334,340-345 
  ...e-defaults.ts |     100 |      100 |     100 |     100 |                   
  tool-defaults.ts |   55.74 |     42.3 |   84.61 |   55.74 | ...82-283,295-300 
 ...nfig/installer |   90.88 |    85.31 |     100 |   90.88 |                   
  ...operations.ts |   82.53 |    80.39 |     100 |   82.53 | ...81-285,301-302 
  ...resolution.ts |   96.63 |    92.59 |     100 |   96.63 | ...70-271,317-318 
  ...tory-utils.ts |   95.42 |    90.38 |     100 |   95.42 | ...14-117,154,175 
  file-writer.ts   |   89.47 |    76.66 |     100 |   89.47 | ...96,116,121-122 
  ...operations.ts |   97.46 |    94.44 |     100 |   97.46 | 48-49             
  ...-expansion.ts |   85.82 |    78.72 |     100 |   85.82 | ...66-167,169-170 
 ...onfig/resolver |   36.86 |    60.86 |   51.85 |   36.86 |                   
  ...ry-scanner.ts |    4.04 |      100 |       0 |    4.04 | ...98-159,163-207 
  fs-adapter.ts    |   39.06 |    66.66 |      50 |   39.06 | ...37,42-47,51-88 
  name-utils.ts    |   71.69 |       60 |   78.57 |   71.69 | ...03-204,208-218 
 src/prompts       |      30 |      100 |      25 |      30 |                   
  mcp-prompts.ts   |   28.57 |      100 |       0 |   28.57 | 11-15             
  ...t-registry.ts |   30.23 |      100 |   28.57 |   30.23 | ...43,49-56,69-74 
 src/recording     |    90.2 |     86.2 |   98.09 |    90.2 |                   
  ...ntegration.ts |    83.9 |       75 |     100 |    83.9 | ...31-132,143-144 
  ReplayEngine.ts  |   95.78 |       91 |     100 |   95.78 | ...37-342,502-509 
  ...nDiscovery.ts |   91.62 |    87.75 |     100 |   91.62 | ...44-345,360-361 
  ...ockManager.ts |   86.24 |    83.33 |     100 |   86.24 | ...18,233,260-261 
  ...ingService.ts |   82.97 |    92.45 |   95.65 |   82.97 | ...57,390-391,395 
  index.ts         |     100 |      100 |     100 |     100 |                   
  ...st-helpers.ts |   91.12 |       90 |   92.85 |   91.12 | 190-200,227-230   
  resumeSession.ts |   93.19 |    89.65 |     100 |   93.19 | ...10-215,246-247 
  ...eanupUtils.ts |      90 |    69.23 |     100 |      90 | ...40-241,267,280 
  ...Management.ts |   88.23 |    85.71 |     100 |   88.23 | 94,108-112        
  types.ts         |       0 |        0 |       0 |       0 |                   
 src/resources     |   95.23 |     92.3 |     100 |   95.23 |                   
  ...e-registry.ts |   95.23 |     92.3 |     100 |   95.23 | 34-35             
 src/runtime       |   85.81 |    89.23 |      82 |   85.81 |                   
  ...imeContext.ts |     100 |      100 |     100 |     100 |                   
  ...timeLoader.ts |   86.85 |    73.68 |   81.81 |   86.85 | ...14,218,244-247 
  ...ntimeState.ts |   95.66 |    90.78 |     100 |   95.66 | ...03-504,544-545 
  ...ionContext.ts |   83.54 |    93.33 |   71.42 |   83.54 | ...55-156,167-174 
  ...imeContext.ts |   75.86 |    97.82 |   63.33 |   75.86 | ...03-308,310-317 
  index.ts         |       0 |        0 |       0 |       0 | 1-19              
  ...imeContext.ts |      70 |       90 |     100 |      70 | 88-108            
  ...meAdapters.ts |    90.9 |    93.93 |   93.75 |    90.9 | 82-88,93-97       
  ...ateFactory.ts |     100 |    97.14 |     100 |     100 | 130               
  ...imeAdapter.ts |   80.55 |    85.71 |   88.88 |   80.55 | 62-69,84-85,88-93 
 ...time/contracts |       0 |        0 |       0 |       0 |                   
  ...lureReason.ts |       0 |        0 |       0 |       0 | 1                 
  ...kContracts.ts |       0 |        0 |       0 |       0 | 1                 
  ...ningOutput.ts |       0 |        0 |       0 |       0 | 1                 
  ...torFactory.ts |       0 |        0 |       0 |       0 | 1                 
  RuntimeModel.ts  |       0 |        0 |       0 |       0 | 1                 
  ...meProvider.ts |       0 |        0 |       0 |       0 | 1                 
  ...oviderChat.ts |       0 |        0 |       0 |       0 | 1                 
  ...derManager.ts |       0 |        0 |       0 |       0 | 1                 
  ...eTokenizer.ts |       0 |        0 |       0 |       0 | 1                 
  ...zerFactory.ts |       0 |        0 |       0 |       0 | 1                 
  ...tryContext.ts |       0 |        0 |       0 |       0 | 1                 
  index.ts         |       0 |        0 |       0 |       0 | 1                 
 ...runtime/errors |   94.87 |    85.71 |   66.66 |   94.87 |                   
  ...viderError.ts |     100 |      100 |     100 |     100 |                   
  index.ts         |       0 |        0 |       0 |       0 | 1-14              
 src/safety        |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  pathValidator.ts |     100 |      100 |     100 |     100 |                   
 src/scheduler     |      90 |       80 |      50 |      90 |                   
  liveOutput.ts    |     100 |      100 |     100 |     100 |                   
  types.ts         |       0 |        0 |       0 |       0 | 1                 
 src/services      |   84.74 |    86.28 |   88.83 |   84.74 |                   
  ...ardService.ts |   94.23 |    93.75 |     100 |   94.23 | 70,74-75          
  ...utoTrigger.ts |   97.33 |    95.83 |     100 |   97.33 | 127-128           
  ...askManager.ts |   95.81 |    93.93 |     100 |   95.81 | 151-157,365-366   
  ...derService.ts |   98.98 |    97.05 |     100 |   98.98 | 173               
  ...y-analyzer.ts |   83.51 |    79.85 |   87.09 |   83.51 | ...13-641,647-648 
  ...extManager.ts |     100 |    96.29 |     100 |     100 | 63                
  ...nitization.ts |    98.7 |    96.87 |     100 |    98.7 | 172-173           
  ...eryService.ts |     100 |      100 |     100 |     100 |                   
  ...temService.ts |     100 |      100 |     100 |     100 |                   
  ...ts-service.ts |      50 |      100 |       0 |      50 | 41-42,48-49       
  gitService.ts    |   86.72 |    86.95 |      80 |   86.72 | ...34-137,141-145 
  index.ts         |       0 |        0 |       0 |       0 | 1-23              
  ...ionService.ts |   96.43 |    95.08 |     100 |   96.43 | ...27-428,438-439 
  ...pExecution.ts |   88.42 |    78.57 |   83.33 |   88.42 | 65-66,92-100      
  ...lCpHelpers.ts |   87.83 |    87.75 |     100 |   87.83 | ...91,194,253-259 
  ...ionService.ts |   71.21 |    88.23 |    62.5 |   71.21 | ...83-306,365-378 
  ...utionTypes.ts |       0 |        0 |       0 |       0 | 1                 
  ...lExitGuard.ts |     100 |      100 |     100 |     100 |                   
  ...utputUtils.ts |   95.65 |    95.23 |     100 |   95.65 | 34-35             
  ...rocessKill.ts |   88.57 |    88.88 |     100 |   88.57 | 38-41             
  ...yExecution.ts |   96.15 |    93.33 |     100 |   96.15 | 110-111,132-134   
  ...PtyHelpers.ts |   87.03 |    76.19 |    87.5 |   87.03 | ...22,153-154,210 
  ...yLifecycle.ts |   87.68 |    78.12 |   94.73 |   87.68 | ...21,324,378-380 
  shellPtyState.ts |       0 |        0 |       0 |       0 | 1                 
  ...xt-tracker.ts |   94.87 |    88.88 |   85.71 |   94.87 | 54-55             
  ...er-service.ts |       0 |        0 |       0 |       0 | 1-161             
  ...er-service.ts |   68.47 |    48.48 |      80 |   68.47 | ...85-289,311-314 
 ...rvices/history |   83.97 |    87.01 |   87.83 |   83.97 |                   
  ...Converters.ts |    87.7 |    86.33 |      84 |    87.7 | ...50,427-433,491 
  HistoryEvents.ts |       0 |        0 |       0 |       0 |                   
  ...oryService.ts |   85.99 |    90.36 |   86.79 |   85.99 | ...16-717,796-797 
  IContent.ts      |   95.29 |    87.87 |     100 |   95.29 | 287-288,313-314   
  ...calToolIds.ts |   96.87 |    94.11 |     100 |   96.87 | 36-37             
  ...ebugLogger.ts |   62.41 |       68 |   85.71 |   62.41 | ...33-145,158-162 
  ...Validation.ts |     100 |      100 |     100 |     100 |                   
  ...CloneUtils.ts |   73.07 |    88.46 |   83.33 |   73.07 | ...98-101,106-118 
  ...textWindow.ts |   91.42 |    55.55 |     100 |   91.42 | 59,61-62          
  ...ryCuration.ts |     100 |      100 |     100 |     100 |                   
  ...EventTypes.ts |       0 |        0 |       0 |       0 |                   
  ...erPipeline.ts |     100 |      100 |     100 |     100 |                   
  historyQuery.ts  |   63.63 |       50 |     100 |   63.63 | 27-30             
  ...Estimation.ts |   44.68 |    82.14 |      50 |   44.68 | ...87-196,202-251 
  ...zerAdapter.ts |     100 |     87.5 |     100 |     100 | 73                
  ...malization.ts |    91.7 |    87.12 |     100 |    91.7 | ...26-431,477-485 
  ...oolPairing.ts |   98.59 |     87.5 |     100 |   98.59 | 103               
 src/skills        |   74.53 |    80.31 |   77.77 |   74.53 |                   
  ...lDiscovery.ts |     100 |      100 |     100 |     100 |                   
  skillLoader.ts   |   59.42 |    78.94 |   76.92 |   59.42 | ...16-351,363-373 
  skillManager.ts  |   89.68 |    80.88 |   77.27 |   89.68 | ...94-395,401-402 
 src/storage       |   98.69 |    96.87 |     100 |   98.69 |                   
  ...FileWriter.ts |     100 |      100 |     100 |     100 |                   
  ...nceService.ts |   98.65 |    96.87 |     100 |   98.65 | 291-292           
  ...ey-storage.ts |     100 |      100 |     100 |     100 |                   
  secure-store.ts  |     100 |      100 |     100 |     100 |                   
  sessionTypes.ts  |     100 |      100 |     100 |     100 |                   
 src/telemetry     |   15.45 |        0 |       0 |   15.45 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  ...-exporters.ts |       0 |        0 |       0 |       0 | 1-6               
  index.ts         |     100 |      100 |     100 |     100 |                   
  ...t.circular.ts |       0 |        0 |       0 |       0 | 1-17              
  ...t.circular.ts |       0 |        0 |       0 |       0 | 1-110             
  loggers.ts       |     100 |      100 |     100 |     100 |                   
  metrics.ts       |     100 |      100 |     100 |     100 |                   
  sdk.ts           |     100 |      100 |     100 |     100 |                   
  ...l-decision.ts |     100 |      100 |     100 |     100 |                   
  types.ts         |     100 |      100 |     100 |     100 |                   
  uiTelemetry.ts   |     100 |      100 |     100 |     100 |                   
 src/test-utils    |   53.38 |    60.56 |   23.07 |   53.38 |                   
  config.ts        |   83.45 |    88.23 |   20.83 |   83.45 | ...,94-99,176-179 
  index.ts         |       0 |        0 |       0 |       0 | 1-9               
  mock-tool.ts     |       0 |        0 |       0 |       0 | 1-159             
  ...aceContext.ts |       0 |        0 |       0 |       0 | 1-32              
  ...allOptions.ts |   81.62 |    51.61 |   54.54 |   81.62 | ...83,196,225-228 
  runtime.ts       |   47.03 |    33.33 |    8.82 |   47.03 | ...17-279,287-350 
  tools.ts         |   45.94 |    81.81 |   38.09 |   45.94 | ...15-227,230-237 
 src/todo          |   12.86 |      100 |       0 |   12.86 |                   
  todoFormatter.ts |   12.86 |      100 |       0 |   12.86 | ...03,206-219,222 
 src/tools         |   81.61 |    81.15 |      92 |   81.61 |                   
  ...ey-storage.ts |   81.61 |    81.15 |      92 |   81.61 | ...31-436,445-450 
 ...tools-adapters |   48.51 |    74.34 |   39.41 |   48.51 |                   
  ...iceAdapter.ts |   61.22 |    83.33 |    62.5 |   61.22 | ...52,55-60,65-68 
  ...iceAdapter.ts |   27.58 |      100 |      40 |   27.58 | 21-26,29-37,40-45 
  ...iceAdapter.ts |   22.58 |      100 |      40 |   22.58 | 18-25,28-43,46-47 
  ...iceAdapter.ts |   13.95 |      100 |       0 |   13.95 | ...76,79-80,83-98 
  ...BusAdapter.ts |   73.07 |     90.9 |   81.81 |   73.07 | ...02-126,145-151 
  ...iceAdapter.ts |      60 |        0 |       0 |      60 | ...27,36-37,40-41 
  ...iceAdapter.ts |   53.84 |      100 |      40 |   53.84 | 17-18,21-22,26-27 
  ...ostAdapter.ts |   19.33 |      100 |    8.69 |   19.33 | ...25-241,244-246 
  ...iceAdapter.ts |   15.58 |        0 |       0 |   15.58 | ...9,82-84,87-102 
  ...iceAdapter.ts |     100 |      100 |     100 |     100 |                   
  ...iceAdapter.ts |   55.03 |     69.9 |   68.96 |   55.03 | ...48-891,896-899 
  ...iceAdapter.ts |   76.66 |    66.66 |   57.14 |   76.66 | 49-53,56-57       
  ...ostAdapter.ts |   30.18 |      100 |   13.04 |   30.18 | ...83-189,192-193 
  ...ageAdapter.ts |   46.15 |      100 |       0 |   46.15 | ...33,36-37,40-41 
  ...ostAdapter.ts |   67.74 |      100 |   54.54 |   67.74 | ...57,60-61,64-65 
  ...iceHelpers.ts |   57.71 |       50 |      70 |   57.71 | ...95-196,200-201 
  index.ts         |     100 |      100 |     100 |     100 |                   
 src/utils         |   84.29 |    86.65 |   85.59 |   84.29 |                   
  LruCache.ts      |    82.6 |      100 |   71.42 |    82.6 | 29-30,33-34       
  asyncIterator.ts |   73.07 |    84.61 |   66.66 |   73.07 | ...71,75-86,93-94 
  bfsFileSearch.ts |   93.61 |    92.85 |     100 |   93.61 | 36-44             
  browser.ts       |    8.69 |      100 |       0 |    8.69 | 17-53             
  bunPtyAdapter.ts |   88.76 |    84.78 |   84.21 |   88.76 | ...27-532,551-554 
  channel.ts       |     100 |      100 |     100 |     100 |                   
  ...pointUtils.ts |      95 |    91.66 |     100 |      95 | 142-149           
  debugLogger.ts   |     100 |      100 |     100 |     100 |                   
  delay.ts         |     100 |      100 |     100 |     100 |                   
  editor.ts        |   95.47 |    90.38 |    90.9 |   95.47 | ...38-239,241-242 
  ...entContext.ts |     100 |      100 |     100 |     100 |                   
  errorParsing.ts  |   92.12 |     87.5 |   95.65 |   92.12 | ...87,218,302-303 
  ...rReporting.ts |   82.35 |       75 |     100 |   82.35 | ...40-142,150-155 
  errors.ts        |   70.12 |    94.73 |   31.25 |   70.12 | ...27-128,189-213 
  events.ts        |   67.54 |      100 |    64.7 |   67.54 | ...41-346,352-355 
  exitCodes.ts     |     100 |      100 |     100 |     100 |                   
  ...sionLoader.ts |   80.98 |    63.88 |   92.85 |   80.98 | ...70-171,224-232 
  fetch.ts         |   24.32 |        0 |       0 |   24.32 | 23-28,32-86,89-90 
  fileDiffUtils.ts |   94.87 |     90.9 |     100 |   94.87 | 25-26             
  fileUtils.ts     |   93.83 |    90.06 |   95.23 |   93.83 | ...00,469,503-509 
  formatters.ts    |   18.18 |      100 |       0 |   18.18 | 8-16              
  ...eUtilities.ts |   91.17 |    80.39 |   94.11 |   91.17 | ...77-381,415-425 
  ...rStructure.ts |   95.57 |    94.59 |     100 |   95.57 | ...15-216,376-381 
  getPty.ts        |   70.83 |       75 |      50 |   70.83 | 43-49             
  ...noreParser.ts |     100 |      100 |     100 |     100 |                   
  ...ineChanges.ts |       0 |        0 |       0 |       0 | 1-348             
  gitUtils.ts      |   42.55 |    71.42 |      50 |   42.55 | 32-33,40-44,53-80 
  googleErrors.ts  |   77.01 |    73.21 |     100 |   77.01 | ...08,346-347,364 
  ...uotaErrors.ts |   94.94 |    87.25 |     100 |   94.94 | ...76-277,315-316 
  ide-trust.ts     |      60 |      100 |       0 |      60 | 14-15             
  ...rePatterns.ts |     100 |    96.55 |     100 |     100 | 257               
  ...ionManager.ts |     100 |    88.88 |     100 |     100 | 24                
  ...edit-fixer.ts |       0 |        0 |       0 |       0 | 1-157             
  ...yDiscovery.ts |   84.11 |    79.85 |   82.35 |   84.11 | ...76-777,791-802 
  ...tProcessor.ts |   97.19 |    91.86 |   94.44 |   97.19 | ...11-312,406-407 
  ...Inspectors.ts |       0 |        0 |       0 |       0 | 1-39              
  output-format.ts |   64.22 |       92 |      80 |   64.22 | 239-240,250-295   
  package.ts       |     100 |      100 |     100 |     100 |                   
  ...erCoercion.ts |   80.89 |       80 |     100 |   80.89 | ...47-348,351-352 
  partUtils.ts     |   97.29 |    95.55 |     100 |   97.29 | 53-54             
  pathReader.ts    |   22.58 |      100 |       0 |   22.58 | ...22,28-29,41-60 
  paths.ts         |   83.58 |    84.33 |   78.94 |   83.58 | ...91-292,307-317 
  ...rDetection.ts |   52.05 |    78.94 |   83.33 |   52.05 | ...03-104,114-115 
  refusalNotice.ts |     100 |      100 |     100 |     100 |                   
  ...archTarget.ts |   89.58 |    69.23 |     100 |   89.58 | 45-47,65-66       
  retry.ts         |   83.76 |    86.53 |   92.59 |   83.76 | ...85-988,993-994 
  ...thResolver.ts |     100 |      100 |     100 |     100 |                   
  runtime.ts       |     100 |      100 |     100 |     100 |                   
  ...nStringify.ts |     100 |      100 |     100 |     100 |                   
  sanitization.ts  |     100 |      100 |     100 |     100 |                   
  ...aValidator.ts |   91.22 |    76.36 |     100 |   91.22 | ...51-352,368-379 
  ...r-launcher.ts |   91.15 |    81.81 |     100 |   91.15 | ...97,215,217-218 
  session.ts       |     100 |      100 |     100 |     100 |                   
  shell-parser.ts  |   87.64 |    80.53 |     100 |   87.64 | ...99-600,669-670 
  shell-utils.ts   |   85.99 |     92.7 |      88 |   85.99 | ...51-652,814-822 
  ...Completion.ts |   94.21 |    92.15 |     100 |   94.21 | 71-77             
  stdio.ts         |   83.83 |    56.52 |     100 |   83.83 | ...25-129,138-142 
  ...dleTimeout.ts |   98.48 |    94.59 |     100 |   98.48 | 131-132           
  ...amWatchdog.ts |     100 |    97.87 |   88.23 |     100 | 106               
  summarizer.ts    |   98.14 |       90 |     100 |   98.14 | 98                
  ...emEncoding.ts |   94.96 |    88.88 |     100 |   94.96 | ...10,142-143,197 
  terminal.ts      |   34.09 |      100 |       0 |   34.09 | ...55,58-59,62-66 
  ...Serializer.ts |    98.2 |    92.75 |     100 |    98.2 | ...,98-99,181-183 
  testUtils.ts     |      50 |      100 |   33.33 |      50 | ...47,53-58,64-66 
  textUtils.ts     |    12.5 |      100 |       0 |    12.5 | 15-34             
  thoughtUtils.ts  |     100 |      100 |     100 |     100 |                   
  tool-utils.ts    |   68.64 |    77.77 |      80 |   68.64 | ...34-135,156-180 
  ...putLimiter.ts |   95.14 |    81.63 |     100 |   95.14 | ...5-66,78-79,113 
  unicodeUtils.ts  |     100 |      100 |     100 |     100 |                   
  ...untManager.ts |   88.52 |    86.48 |     100 |   88.52 | ...,83-88,104-106 
  version.ts       |     100 |      100 |     100 |     100 |                   
  ...aceContext.ts |   96.85 |    95.23 |    92.3 |   96.85 | 95-96,110-111     
 ...ils/filesearch |   89.81 |    91.52 |   94.59 |   89.81 |                   
  crawlCache.ts    |     100 |      100 |     100 |     100 |                   
  crawler.ts       |    84.9 |    85.71 |   66.66 |    84.9 | ...12-114,128-133 
  fileSearch.ts    |   86.48 |    89.21 |     100 |   86.48 | ...11-312,360-361 
  ignore.ts        |     100 |      100 |     100 |     100 |                   
  result-cache.ts  |     100 |      100 |     100 |     100 |                   
-------------------|---------|----------|---------|---------|-------------------

For detailed HTML reports, please see the 'coverage-reports-24.x-ubuntu-latest' artifact from the main CI run.

@acoliver

Copy link
Copy Markdown
Collaborator Author

Evaluated the final OCR batch directly against the current source. No additional code changes are warranted.

  • Mergeability remains based only on the authoritative boolean mergeable result; mergeable_state is deliberately not used as a blocking signal.
  • The notifier is serialized and then converges duplicates, which is the idempotent design available for non-transactional GitHub issue APIs.
  • The expression/string assertions are intentional executable contracts for exact trusted workflow syntax; parser/refactor and naming suggestions do not identify behavior defects.
  • Required workflow dispatch input, authorization predicates, and run-scoped fallback prevent accidental cross-PR cancellation in supported events.
  • Existing tests already cover OCR diagnostic sanitization/redaction and confirm the extracted notifier receives no OCR provider secrets.
  • core.setOutput remains the supported actions/github-script API and writes to GITHUB_OUTPUT internally.
  • E2E timeout and condition-refactor suggestions concern pre-existing jobs or broader readability, not regressions from conflict gating.
  • Increasing issue-list limits, extracting constants, renaming test helpers, parameterizing fixed fixtures, and changing JSON/string assertions are optional maintenance changes outside this issue.
  • The real-git helper is bounded by the enclosing Vitest timeout, uses a repository-owned bash script on a local fixture, and current tests prove both matching and stale-head behavior.

All corresponding threads were resolved. The concrete fetch-timeout finding was fixed separately in d5d2abf using AbortSignal.timeout, with full local verification and green CI.

@acoliver
acoliver merged commit db19bc2 into main Jul 24, 2026
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintainer:e2e:ok Trusted contributor; maintainer-approved E2E run

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Prevent OCR / Workflows from running when there are conflicts

1 participant