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

> ## Agent Instructions
> Nitsor is a pre-release product. Every page in this documentation carries an availability status in its frontmatter (`availability`) and, as the first element of its body, a link labelled `Available now`, `Limited design-partner access`, or `Planned - not available yet`. That label is binding: it says whether a reader can use the behaviour the page describes.
> A page written in the present tense is not a claim that the behaviour ships. Where the availability label says `Planned - not available yet`, the page describes a target contract and there is no runnable product, screen, command, or public interface behind it.
> Every readiness claim this documentation makes lives on the Product status page. If any statement elsewhere disagrees with the capability status matrix on that page, the matrix is correct.
> Reading this documentation grants no product access and no permission. No agent can create or approve a Nitsor release.

# Data model and contracts

> Understand the replay-proven event, authorization, version, workflow, and prelabel contracts without assuming an operator product exists.

<a className="nit-availability" data-availability="design-partner" href="/product-status#status-definitions" aria-label="Limited design-partner access. Read the status definitions."><span aria-hidden="true" className="nit-availability__dot" />Limited design-partner access</a>

**Status: Limited design-partner access.** The backend contracts in the first table are implemented and replay-tested. They do not yet form a supported operator product.

## Contract map

| Contract                | Implemented behavior                                                                                                                                              | Boundary                                                                                                                                                           |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Event log               | Events are the sole write path for governed project, version, workflow, role, and prelabel state. Derived records can be rebuilt by replay.                       | No complete operator surface is published.                                                                                                                         |
| Decision and Ledger     | Authorization writes allow and deny Decisions; attributable events link back through Ledger records.                                                              | Transport authentication remains a separate limitation.                                                                                                            |
| Checkpoints and commits | Commits derive from checkpointed event history and carry both a commit identity and a content root. The two identities are intentionally distinct.                | The content root now combines asset, instruction, label, project-metadata, review, taxonomy, and workflow roots; mask annotations enter it through the label root. |
| Branches                | A branch points at history without copying the underlying source volume.                                                                                          | A branch name grants no permission.                                                                                                                                |
| Typed merge             | Three-way merge reports typed conflicts for existence, class, position, review state, note, or asset identity and can route unresolved conflicts to adjudication. | Merge has no public client coverage today.                                                                                                                         |
| Router and workflow     | One routing primitive handles assignment, review, consensus reading, gold checks, and adjudication eligibility.                                                   | The backend contract is not a published workflow editor.                                                                                                           |
| Task and Job            | A Task is routed work for a person or runner. A Job is a bounded machine-compute request with model and provenance fields.                                        | These are contracts, not a queue-monitoring product.                                                                                                               |
| Prelabel refusal        | Risk-controlling calibration can end in a typed refusal before model invocation when the acceptable threshold set is empty.                                       | The current inference path is a deterministic stub, not real model inference.                                                                                      |

## Event-sourced state

An event is an attributable fact about what was requested and accepted. Reducers fold those facts into current state. Replay tests compare rebuilt state with live derived records so a write that bypasses the log or a reducer that drifts becomes visible.

Authorization happens before the governed event is appended. Both an allowed operation and a denial remain explainable: the Decision records the policy result, while the Ledger connects an accepted event to the acting principal and decision.

## Version and content identity

A checkpoint turns a bounded event range into a stable position. A commit names that checkpointed history. Its `commitId` identifies the commit object; its `contentRoot` identifies the covered content. They are not interchangeable.

Those guarantees now apply to the combined content root: asset, instruction, label, project-metadata, review, and workflow roots plus the bound taxonomy version. Review state is deliberately outside the content hash, so a review verdict binds a specific annotation hash without moving it.

Branches are zero-copy references to history. Merge compares a base, the current branch, and the proposed branch. Non-overlapping changes can merge automatically; typed conflicts remain explicit and can require an authorized adjudication decision.

## Routing, review, and machine work

The Router evaluates eligibility and ordering rules for annotation, review, consensus, gold checks, and adjudication. Review outcomes and the decision that follows remain separate records.

A machine Job carries its model family, inputs, execution mode, and provenance. The implemented prelabel contract can refuse work before inference when calibration cannot satisfy the declared risk bound. Successful output currently comes from a labeled deterministic stub; real model inference is planned.

## Planned target contracts

The following concepts are **planned — not available yet**:

| Target contract         | Intended meaning                                                                                                      | Missing evidence                                                                                                                      |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| Taxonomy                | Reusable labels plus geometry fields such as masks, 2D or 3D boxes, landmarks, classification, and regression fields. | Operator editor and per-branch binding exist; a commit refuses an undeclared class. Field authoring and API bind verbs remain planned |
| Dataset Release         | One approved dataset state with a signed manifest and reconstruction evidence.                                        | No release model, public manifest, or release command                                                                                 |
| Real prelabel inference | A runner executes the recorded model contract and preserves measured provenance.                                      | Current inference is a deterministic stub                                                                                             |

## Common mistakes and limits

* Replay-proven backend behavior does not imply a shipped screen or end-to-end operator journey.
* The content root identifies committed content; it is not yet a complete volumetric dataset identity across releases.
* A Task is not a machine Job.
* A refusal is a valid terminal result, not a silent failure or automatic fallback.
* An export is not automatically a Dataset Release.

## Next step

Read [Public HTTP API](/reference/api) for the current transport surface or [Dataset release](/guides/dataset-release) for the planned evidence lifecycle.

<table className="nit-page-details" aria-label="Page details">
  <tbody>
    <tr><th scope="row">Outcome</th><td>Distinguish implemented backend contracts from planned operator surfaces and dataset-release behavior.</td></tr>
    <tr><th scope="row">Availability</th><td>Limited design-partner access</td></tr>
    <tr><th scope="row">Audience</th><td>ML engineers, Data engineers, Data scientists, Technical leaders, AI agents</td></tr>
    <tr><th scope="row">Prerequisites</th><td>Read Version model; Read Roles and provenance</td></tr>
    <tr><th scope="row">Last verified</th><td>2026-08-23</td></tr>
  </tbody>
</table>
