# Synthetic Start Passing

In RUFUS Race Manager (RRM), the **Synthetic Start Passing** feature ensures that every participant in a **CLASSICAL race** has a valid start time — even when their real START passing is missing. This typically happens in mass-start races when early detections or device bounce prevent some participants from being re-read as they cross the start line.

The synthetic start passing is automatically created by RRM’s passings core to guarantee timing continuity and accurate race classifications.

## Configuration in Classical Races

To enable synthetic start creation:

1. Open the **Race Dialog** for your race.
2. In the **Start Policies** section, ensure the option\
   \&#xNAN;**“Auto-create lap 0”** is enabled.

The following conditions must also be met:

* The race must be of type **CLASSICAL**.
* The race must have a **START type checkpoint** (we are measuring times at the start).

Once this policy is active, the system will automatically create synthetic start passings whenever a participant’s first valid passing in the race is missing its lap 0 start.

## When a Synthetic Start Passing Is Created

A **synthetic start passing** is created under these specific conditions:

* The race is **CLASSICAL**.
* The race has a defined **START checkpoint (lap\_id = 0)**.
* The option **Auto-create lap 0** is enabled.
* The participant registers a **VALID passing** at any checkpoint **after lap 0**, but does **not have a valid START passing**.
* The participant is correctly assigned to a race (not an ORPHAN).

When all these conditions are met, the system automatically creates a synthetic start passing for that participant at:

> **race\_start\_time + 1 millisecond**

This ensures that each participant has a continuous race timeline, allowing accurate classification and ranking calculations.

## When It Is Not Created

A synthetic start passing **will not be created** in the following cases:

* The race is not CLASSICAL (e.g., LAPS-based).
* The race has **no START type checkpoint**.
* The option **Auto-create lap 0** is disabled.
* The participant already has a valid start passing.
* The passing is **invalid** (statuses such as TIME\_INVALID, BOUNCED, EOTR, etc.).
* The passing belongs to an **ORPHAN** (no participant → no race → no policies).

## The Problem It Solves

In mass-start races, participants often stand on the antennas before the start signal. These early detections are marked **TIME\_INVALID** because they occur before the official start time.

When the race begins, some participants leave the antenna area immediately — but their tags may not be re-read due to the device’s internal bounce protection. This causes them to have **no valid start passing**, even though they were the first to leave.

The **Synthetic Start Passing** automatically resolves this issue by inserting a virtual start record at the official race start time, ensuring every participant has a proper lap 0 reference for accurate timing and ranking.

## Operating with Synthetic Start Passings

* Synthetic start passings appear in RRM just like any other passing, but are **system-generated**.
* You can view them in the **Event Control View** or in the **Participant Passings** section.
* They can be deleted or manually invalidated if needed, though this is rarely required.

## Summary

The **Synthetic Start Passing** feature ensures fairness and accuracy in CLASSICAL races by guaranteeing that every participant has a valid start time — even when no physical start passing was captured.\
By automatically creating a start at **race\_start\_time + 1 ms** for missing lap 0 passings, RRM eliminates common mass-start timing issues caused by pre-start reads and device bounce.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.runonrufus.com/rufus-race-manager/collecting-and-managing-timing-data/synthetic-start-passing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
