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

# agentlinkops index reconcile-submissions

> Compare submission attempts with later retained index observations.

```bash theme={null}
agentlinkops index reconcile-submissions --project-id ID [--format json|csv] [--out FILE]
```

## Behavior and output

Reads local submission and index-observation archives without a network request. Each selected project’s submission keeps every observation from that same project with the exact same URL and a check time strictly later than submission. Equal or earlier timestamps, other projects and URL variants are excluded. Redirects and canonicals do not substitute for the requested URL. Observations sort by check time, then ID; each submission attempt remains separate.

The report preserves unknown results, reasons, backend, source, watch ID, confidence, hash and evidence reference. Later observations retain their source-qualified verdicts without becoming a submission-success verdict. A report with no later observation leaves verification unestablished. JSON always reports `verification: not_established`; observation rows report `participant_indexing_verified: false` and `causation_established: false`.

HTTP 200 becomes `received`; 202 becomes `key_validation_pending`; a null status becomes `unknown`; other statuses become `failed`. These are receipt outcomes. [IndexNow’s protocol documentation](https://www.indexnow.org/documentation) states that 200 records receipt and 202 awaits key validation. Neither response establishes indexing. A later Google observation does not verify indexing by an IndexNow participant or show that submission caused indexing.

The default JSON report includes the project, reading note and each submission’s later observations. CSV writes one row per submission/observation pair, or an `unknown` row with reason `no_later_observation` when none qualifies. CSV repeats the reading note and escapes cells that could be spreadsheet formulas. `--out` atomically replaces the named file; otherwise output goes to stdout.

Use [submission import](/reference/local/index-submissions-import) to retain reported responses, [index import](/reference/local/index-import) or [index pull](/reference/local/index-pull) to populate the separate observation archive, and [submission export](/reference/local/index-submissions-export) for unchanged receipt rows. Pull is a separate authenticated network operation; reconciliation itself stays offline.

## Arguments

\--project-id ID is required. --format json|csv defaults to json. --out FILE writes the report to a file.

## Exit status

0 on success; 2 on invalid input, receipt conflict, configuration or file failure.

Read [configuration and file ownership](/reference/local/configuration) before automating this command. Read [local file contracts](/reference/local/artifacts) for artifact fields. Browse the [local command index](/reference/local/index) for related commands.

<Note>Check the selected environment and workspace access before calling hosted operations. See [capability status](/capability-status).</Note>
