> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bijection.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Class: BranchComparisonClient

> A factory-owned comparison capability for one authenticated caller lifetime.

[browser](/api/modules/browser).BranchComparisonClient

A factory-owned comparison capability for one authenticated caller lifetime.
Its private reader makes the type nominal; copying methods supplies no reader.
A capability grants no authority: native reads still check current access.

## Methods

### compare

▸ **compare**\<`Q`>(`request`, `signal?`): `Promise`\<[`BranchComparison`](/api/modules/browser#branchcomparison)\<[`ComparisonValue`](/api/modules/browser#comparisonvalue)\<`Q`>>>

Read one query across siblings and their shared starting state.

#### Type parameters

| Name | Type |
| :- | :- |
| `Q` | extends `string` \| [`FunctionReference`](/api/modules/server#functionreference)\<`"query"`> |

#### Parameters

| Name | Type |
| :- | :- |
| `request` | [`CompareBranchesRequest`](/api/modules/browser#comparebranchesrequest)\<`Q`> |
| `signal?` | `AbortSignal` |

#### Returns

`Promise`\<[`BranchComparison`](/api/modules/browser#branchcomparison)\<[`ComparisonValue`](/api/modules/browser#comparisonvalue)\<`Q`>>>

***

### scorecard

▸ **scorecard**(`request`, `signal?`): `Promise`\<[`Scorecard`](/api/modules/browser#scorecard)>

Read exact metrics ordered by the starting program's objective.

#### Parameters

| Name | Type |
| :- | :- |
| `request` | [`ScorecardRequest`](/api/modules/browser#scorecardrequest) |
| `signal?` | `AbortSignal` |

#### Returns

`Promise`\<[`Scorecard`](/api/modules/browser#scorecard)>

***

### comparison

▸ **comparison**(`request`): [`BranchComparisonController`](/api/classes/browser.BranchComparisonController)\<[`ScorecardRequest`](/api/modules/browser#scorecardrequest)>

Capture an immutable request and its read lifetime without performing I/O.
Restart begins at the first page; retry repeats the failed continuation.

#### Parameters

| Name | Type |
| :- | :- |
| `request` | `null` \| [`ScorecardRequest`](/api/modules/browser#scorecardrequest) |

#### Returns

[`BranchComparisonController`](/api/classes/browser.BranchComparisonController)\<[`ScorecardRequest`](/api/modules/browser#scorecardrequest)>

▸ **comparison**\<`Q`>(`request`): [`BranchComparisonController`](/api/classes/browser.BranchComparisonController)\<[`CompareBranchesReadRequest`](/api/modules/browser#comparebranchesreadrequest)\<`Q`>>

#### Type parameters

| Name | Type |
| :- | :- |
| `Q` | extends `string` \| [`FunctionReference`](/api/modules/server#functionreference)\<`"query"`> |

#### Parameters

| Name | Type |
| :- | :- |
| `request` | `null` \| [`CompareBranchesReadRequest`](/api/modules/browser#comparebranchesreadrequest)\<`Q`> |

#### Returns

[`BranchComparisonController`](/api/classes/browser.BranchComparisonController)\<[`CompareBranchesReadRequest`](/api/modules/browser#comparebranchesreadrequest)\<`Q`>>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.