# Log fields

Every field of a session, a logged group and a calibration suggestion in a few lines: which page describes it, who writes and reads it, and what a shared log shows.

## Index

This page is generated from each session, group or suggestion page and from the record schema.
It lists every page of this area in a few lines, with the field paths each one covers in brackets after its name. Find the page for your field, then open it only when the block is not enough.
Each block gives: the page, a summary, how many fields it covers and how many the solver reads, who writes and reads them, what a hand edit does to a calibration, what a shared log shows, and which solver options the fields feed.
Connector tools that return or copy a whole record (`get_session`, `list_sessions`) are named here once and are not listed on the field pages; a field page lists a tool only when the tool takes an input for one of its fields or reports something about one of them.

**Air** (`environment`) — [page](log/air.md)
The temperature, humidity, station pressure and latitude stored with one logged group, the density altitude worked out from them, and where they came from.
Fields: 9 · solver reads 0 · written by: app, connector · read by: fitter, app, connector, server, sharing
On a hand edit: none · shared: removed when location is hidden; worked out again from the rounded pressure (removed when the air is incomplete) when location is hidden; rounded to a whole degree when location is hidden; rounded to 0.1 inHg when location is hidden · options: `vapour`, `gravity`, `coriolis`

**Group** (`dialed`, `hold`, `group`, `calm`, `entered`) — [page](log/group.md)
What was aimed at a target (the dial and any hold), where the group landed, how big it was, how many shots made it, and the mark for a group shot in calm air.
Fields: 24 · solver reads 0 · written by: app, connector · read by: fitter, app, connector, server, sharing
On a hand edit: none · shared: removed for every reader · options: none

**Target marks** (`marks`) — [page](log/marks.md)
The holes, the aim point and the scale marked on a photo of the target for one logged group, from which its centre, size and shot count are worked out.
Fields: 18 · solver reads 0 · written by: app · read by: app, connector, server, sharing
On a hand edit: none · shared: removed when notes are hidden or photos are off · options: none

**Muzzle velocity** (`mv`) — [page](log/muzzle-velocity.md)
The chronograph numbers of one logged group: mean, SD, ES, shot count, the shots themselves and the ammo temperature, and how a fit uses them.
Fields: 12 · solver reads 0 · written by: app, connector · read by: fitter, app, connector, server, sharing
On a hand edit: none · shared: removed when notes are hidden; removed for every reader · options: none

**Group record** (`id`, `created_at`, `updated_at`, `deleted`, `owner_id`, `session_id`, `profile_id`, `profile_version`, `notes`) — [page](log/observation.md)
The logged group itself: its id and times, the session and profile version it belongs to, its soft delete, its free-text notes, and which page describes each other part of it.
Fields: 9 · solver reads 0 · written by: app, connector, server · read by: fitter, app, connector, server, sharing
On a hand edit: none · shared: set by the server for each share; emptied when notes are hidden; the connector's old value block cut when location is hidden · options: none

**Photo** (`photo`) — [page](log/photo.md)
The optional camera-aim photo saved with a logged group: a reference to the picture, the zoom used and the aim reading it was taken with, and who can see the picture.
Fields: 9 · solver reads 0 · written by: app · read by: app, connector, server, sharing
On a hand edit: none · shared: removed when location is hidden or photos are off; removed for every reader · options: none

**Positions** (`positions`) — [page](log/positions.md)
The GPS fixes of where a logged group was fired from and where its target stood, with their accuracy and the two kinds of height a fix can carry.
Fields: 16 · solver reads 0 · written by: app · read by: app, connector, sharing
On a hand edit: none · shared: removed when location is hidden · options: none

**Prediction** (`solver_prediction`, `solver_prediction_physics`, `suggested`) — [page](log/prediction.md)
What the Standard and Physics models predicted for a group at the moment it was logged, and the dial the app suggested, to set against what was shot and observed.
Fields: 8 · solver reads 0 · written by: app, connector · read by: app, connector, sharing
On a hand edit: none · shared: as stored · options: none

**Session record** (`id`, `created_at`, `updated_at`, `deleted`, `owner_id`, `date`, `location_name`, `notes`, `device_id`, `target_window`, `measured_mv`) — [page](log/session.md)
A day at the range: its date, place name, notes, the device that made it, and the window of ranges guided calibration can choose from.
Fields: 17 · solver reads 0 · written by: app, connector, server · read by: app, connector, server, sharing
On a hand edit: none · shared: replaced by the UTC day it was made on a public share; set by the server for each share; emptied when location is hidden; removed for every reader; emptied when notes are hidden; rounded to 10° when location is hidden · options: none

**Session targets** (`targets`) — [page](log/session-targets.md)
The targets listed for one range day before any group is shot: a name, a distance, and the direction and slope learned from the first group, with an optional position and height.
Fields: 14 · solver reads 0 · written by: app · read by: fitter, app, connector, sharing
On a hand edit: none · shared: rounded to 10° when location is hidden; removed when location is hidden; replaced by its range when location is hidden · options: none

**Calibration suggestion** (`id`, `created_at`, `updated_at`, `deleted`, `owner_id`, `suggestion_id`, `share_id`, `profile_id`, `from_version`, `entry`, `message`, `from_name`, `status`, `decided_at`) — [page](log/suggestion.md)
A calibration fit that a helper made on a shared log and sent back to its owner, and where it stands: open, accepted, declined or cancelled.
Fields: 37 · solver reads 0 · written by: app, server · read by: fitter, app, server
On a hand edit: none · shared: not part of a shared log · options: none

**Target** (`target`) — [page](log/target.md)
The range, direction, slope and wind of one logged group, as the shooter entered them, and what each is used for when the group is solved again.
Fields: 18 · solver reads 0 · written by: app, connector · read by: fitter, app, connector, server, sharing
On a hand edit: none · shared: rounded to 10° when location is hidden · options: `coriolis`, `angle`, `windDrag`, `aeroJump`

**Zero check** (`zero_check`) — [page](log/zero-check.md)
The mark on a group shot to check the zero, and what the shooter did after it: moved the turret, saved the zero offsets, or left the zero as it was.
Fields: 5 · solver reads 0 · written by: app, connector · read by: app, connector, sharing
On a hand edit: none · shared: as stored · options: none

---

[All reference pages](index.md)
