# Production tracker

> Shots, tasks, bids, a schedule and a team server inside Oink Review: what is built and what is not.

Oink Review has a small shot tracker, a stand-in for the basics of ShotGrid, built first for one show. It is a **Shots** panel (Window > Shots) over a local database. Everything below was tested against fakes of the other trackers, not against live servers (see the end).

## One show, one database

- Each show is one SQLite file under your user data folder. It refuses to live on the shared drive.
- Every change is logged (who, when, old and new value). **Undo** reverts a whole batch, and the show can be rebuilt from the log alone.
- Shots come from the conform's shot list. A one-way, read-only import reads status, tasks and thumbnails from an Obsidian vault; a status someone set in the tracker is never overwritten by a re-import.

## The Shots panel

| View | What it does |
|---|---|
| Shots | a table of shots |
| Board | status lanes; drag a card to change its status |
| My Tasks | your open tasks, plus unassigned ones with a Take button; **Log time** adds hours |
| Schedule | bars per task, the critical path in the accent colour, late end dates in red |

Keys: Up / Down pick a row, 1 to 7 set its status.

## Bids and schedule

- **Prep Show to bids.** Each shot report becomes proposed tasks with a bid in days (for example Comp 0.5 days plus 0.25 per 50 frames over 50). Each proposal says why. **Approve All** applies them as one undo step; a rejected value is not proposed again and a bid you typed is never overwritten. Cut Compare proposals (omitted, reinstated, changed or new shots) wait in the same table.
- **Create Comp** links the script to the shot and its Comp task.
- **Schedule.** Tasks last their bid and wait for the step before them in their shot; one task at a time per person, Monday to Friday. Time logs give bid against actual per task, step and show. Time is never captured automatically.

## Versions and notes

- A finished background render or farm job, and files written by `render.sh`, become a version of the shot (shot code and `vNNN` taken from the output path). Missing frames mark the version Failed.
- Review notes sync into the tracker and show on the Viewer badge in the compositor.

## Team server

One machine can hold the shows and everyone signs in from the Shots panel (**Server...**). Accounts have roles (client read-only, artist, lead, supervisor, producer, admin); two-factor codes (TOTP) can be required; five bad sign-ins lock an address for a minute. Offline, you read from a local copy and your changes wait in an outbox. An **Inbox** shows what concerns you (assigned to you, status changes on your shots, notes, new or failed versions). It never pops up desktop notifications.

## Other trackers

A one-way push to Pantts, and import/publish adapters for Kitsu, AYON, ShotGrid / Flow and ftrack, exist. They were tested against local fakes of those services only; the first real connection still has to be checked. Sign-in with an identity provider or a passkey, and a mail or chat digest, are not built.

## Assistant tools

The Assistant can read shots, tasks, versions, notes, history, schedule, bids and notifications without asking. Changes (proposing bids, setting a bid, logging time, pushing to Pantts, syncing an adapter) need your approval and are audited.


---
Sources: docs/notes/production-tracker.md, docs/notes/p15-tracker.md, opencomp_core/production, opencomp_server/mcp_production.py
