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

# nora clause-lineage

> Review Foundry's proposed clause revision history: accept, correct, reject.

Foundry's [Output · Clause lineage](/build/foundry/output#clause-lineage) sink compares each processed document's clauses against the previous version and proposes a **revision history**: which clauses carried over, which were amended, which are new, which were removed. Proposals land unreviewed until a person confirms them. `nora clause-lineage` is the terminal surface for that review.

Non-destructive throughout: the document text is never touched. Only the lineage labels (the relations between clause versions) are what you approve, correct, or drop.

## Command groups

* **Browse**: `pending`, `by-block`, `by-document`, `pending-documents`
* **Decide**: `review`, `reject`, `bulk-approve`

## Browsing pending proposals

### `pending`

```bash theme={null}
nora clause-lineage pending --limit 100
```

Every unreviewed proposal across every pipeline and document in the workspace. `--limit` caps rows (default 500).

### `by-block`

```bash theme={null}
nora clause-lineage by-block \
  --pipeline-id p_insurance \
  --block-id n_lineage \
  --include-reviewed
```

Everything one `out_clause_lineage` block has proposed. `--include-reviewed` flips the default (pending-only) to include already-decided rows too.

### `by-document`

```bash theme={null}
# Full history (default)
nora clause-lineage by-document doc_policy_v2

# Pending only
nora clause-lineage by-document doc_policy_v2 --pending-only
```

One document's revision history: every proposed relation between this version and its predecessor, plus pending items.

### `pending-documents`

```bash theme={null}
nora clause-lineage pending-documents
```

Roll-up view: one row per document that still has pending proposals, with a count. Handy for prioritising which document to review next.

## Deciding

### `review`

```bash theme={null}
# Accept the proposed relation
nora clause-lineage review lin_abc123 --relation carried_over

# Correct: model said `new`, human says `amended`
nora clause-lineage review lin_abc123 --relation amended
```

Confirms (or overrides) one proposal. `--relation` values: `carried_over` · `amended` · `new` · `removed`.

### `reject`

```bash theme={null}
nora clause-lineage reject lin_abc123
```

Drops the lineage row entirely. The proposal isn't accepted and isn't recorded as reviewed either. Use this when the model paired clauses that shouldn't have been paired at all.

### `bulk-approve`

```bash theme={null}
nora clause-lineage bulk-approve --ids lin_a,lin_b,lin_c
```

Accepts every listed row **as proposed**, with no relation override. Right for high-confidence batches where the model got everything right and you just want to stamp them all as reviewed.

## Recipes

### Triage: pick the document with the most pending items

```bash theme={null}
next=$(nora clause-lineage pending-documents --json | jq -r 'sort_by(-.pending_count) | .[0].document_id')
nora clause-lineage by-document $next --pending-only
```

### Auto-accept everything a specific block proposed

```bash theme={null}
ids=$(nora clause-lineage by-block --pipeline-id p_ins --block-id n_lineage --json | jq -r '.[].id' | paste -sd,)
nora clause-lineage bulk-approve --ids "$ids"
```

Only run this if the block's proposals have historically been correct. Bulk-approve is unrecoverable without re-running the pipeline.

### Export pending queue to a spreadsheet

```bash theme={null}
nora clause-lineage pending --json > pending.json
# Feed pending.json to Excel / Sheets for out-of-band review.
```

## See also

* [Foundry · Output · Clause lineage](/build/foundry/output#clause-lineage): where these proposals come from.
* [Retrieval · time-aware search](/build/retrieval/overview): how the accepted lineage feeds `as_of` retrieval (G1\~G4).
