MVRK Systems presents

ShuttleCheck

POINT IT AT A FOLDER. IT READS THE REST.

On every production the naming convention is a PDF or a message in a chat, and every vendor on the job breaks it. Nobody finds out until a conform fails in post or a lab rejects a delivery at four in the morning. Open ShuttleCheck™, point it at a job you have already finished, and it works out the convention you are already using; then shows you every file that does not follow it.

free in any browser nothing to install · no account · works offline

Been sent a drive? Check it with nothing installed

ShuttleCheck™ /Volumes/SHUTTLE01
412Files scanned
398Conforming
9Errors
5Warnings
Fields recovered
{project}constant 100%
{day}integer 90%
{stage}enum 80%
{session}integer 90%
{title}slug 55% REVIEW
Nothing has been changed See what does not conform
01 · How it works

Three screens, and you can stop after the first.

Nobody can describe their own naming convention in the abstract, and nobody should have to. It reads the convention off work you have already done, shows you what it found, and only then offers to change anything.

Step 01

Point at a folder

Choose a job you have already delivered. It reads only; nothing is renamed, moved or deleted, so there is nothing to weigh up before trying it on real material.

Step 02

See your own convention

Every field it recovered, with how confident it is in each one. Anything it had to guess at is marked for review rather than quietly assumed.

Step 03

See what breaks it

The files that do not follow the convention, what is wrong with each, and which of them it can fix without inventing anything. Fixing is a separate, deliberate click.

Underneath

Every screen is also a command.

Every interface is a front end on an engine that runs headless just as well. The same checks drop into a delivery hook, a nightly job, or a watch folder; and the read-only ones cannot alter anything, which is why they are safe to hand to a vendor you have never met.

02 · The command set

The free half is the half that only reads.

That is where the line is drawn: by what a command does, not by what it is worth. Checking a drive that arrived is the most useful thing here and it is free, because it has to run for someone who installed this five minutes ago and has never heard of us. Everything that writes to your media is licensed, and every one of those is a separate, deliberate act with an undo behind it.

ui [folder]

Opens the interface. Everything below is a screen in it; everything below is also available without it, which is what you want in a nightly job or a delivery hook.

init <folder>

Reads a job you have already finished and recovers the convention from the files themselves. Nobody can describe their own convention in the abstract, and they should not have to.

validate <folder>

Reports what does not conform (names, folder structure, codecs, audio, missing sidecars, incomplete packages). Changes nothing.

conform <folder>Pro

Builds a rename plan and prints it. Applying is a separate flag, because the cost of an unwanted rename is far higher than the cost of running the command twice.

revertPro

Replays a run backwards. Every move was journalled before the next one started.

seal <drive>Pro

Writes the spec, a manifest of every file, and the report onto the drive itself.

verify <drive>

What the receiving end runs. No spec to be told about, no account, no connection.

pack --vendorPro

Issues one supplier the part of the convention that is theirs, derived from the master so it cannot drift from it.

03 · What nothing else can do

The running order already knows the answer.

An event agenda is structured data that exists weeks before anyone turns a camera on: stage, session, speaker, sponsor, start and end time. Recorders run on time of day. Join those two and every file names itself.

Deterministic

No inference of any kind

A recording that started at 14:10 on the main stage was session S011, because the agenda says so. Nothing is guessed, so nothing is confidently wrong.

Offline

Nothing leaves the building

The join is a comparison between two files you already hold. It runs in a truck with no signal, which is exactly where the work happens.

Free at any scale

Milliseconds per file

Reading structured metadata costs nothing per file and nothing per hour. A two-hundred-session event is the same operation as a one-session one.

And when it disagrees

A filename can be perfectly formed and still be a lie.

S007 recorded during S011 is a valid shape carrying a false claim. Only the running order knows. ShuttleCheck™ reports it, and where the clock is unambiguous it will correct it; but a recording that spans two sessions corrects nothing rather than guessing between them.

04 · What it will not do

The refusals are the feature.

A tool that renames media has to be trusted before it is useful, and trust is built out of the things it declines to do. None of the following is a preference, a setting, or a flag.

Original recorder output

Never renamed, never moved

Camera ISOs, sound cart files, camera negative. Those filenames are the provenance chain, referenced by the switcher log, the sound report and every downstream conform. The format makes proposing a new name for them impossible to even write down.

Nothing is overwritten

A collision aborts the whole plan

Two files resolving to one name stops everything, rather than applying half of it. A half-renamed job is worse than an unrenamed one.

Names are derived, never invented

Otherwise it is skipped, and says why

Where a field can be recovered (from the folder, a known alias, the running order) it is. Where it cannot, the file is left exactly as it is. Inventing a session number is worse than leaving a bad filename.

A skipped check is never a pass

Reported by name, every time

If a media parser or a running order is unavailable, the report says which checks could not run. A silent skip is how a conformance tool starts lying.

The journal

Format
Append-only JSON Lines, one file per run
Written
After each move, flushed to disk
Records
Original path, previous path, new path, size, context, field values
Undo
Replays a run backwards, newest first
Interrupted run
Every completed move rolled back; run marked
Readable without the tool
Yes · plain text, one object per line

Undo is the obvious job. The one that matters more is identity: every file keeps the name it was born with, so re-running after the convention changes computes from that; never from the current name. Without it, fields compound silently on every pass and the names rot.

05 · Across company lines

The rules travel with the media.

Sealing is licensed · Checking a sealed drive is free

A convention is worth nothing unless everyone downstream follows the same one, and downstream is a different company, on a different network, reading a drive that arrived in a case. Sealing writes the convention onto the drive itself.

On arrival shuttlecheck verify .
SHUTTLECHECK DRIVE VERIFICATION
  drive     /Volumes/SHUTTLE01
  sealed    2026-11-13T18:20:41Z

  files expected     412
  hashes checked     412
  errors               1
  warnings              0

  PROBLEMS FOUND (do not ingest until resolved)

ERROR    size-mismatch   (1)
  D01/MAIN/MASTERS/AUT26_D01_MAIN_S002_keynote_v01.mov
    size changed since sealing: 4.2 GB → 1.1 GB;
    the file is damaged or was replaced

  8 file(s) have different timestamps but unchanged
  sizes. That is normal after a copy.
No spec argument · no account exit 1
Nothing to install

mvrk.systems/verify

Whoever receives the drive opens that page, chooses the folder, and gets the same arrival and naming report. Their files are read in their own browser and never leave their machine.

Open the checker

What rides along

_SPEC/ (five plain-text files)

The convention, everything it references, a manifest of every file with its size, the report as it stood when the drive left, and a page of instructions for somebody who has never heard of any of this.

Timestamps are not damage

Most copy tools do not preserve them

Treating that as corruption would make every honest transfer look broken. It is reported as information, unless the convention resolves sessions by modification time, in which case the drift is called out, because then it quietly moves every recording to the wrong session.

Existing checksums are respected

MHL and friends are left alone

Re-hashing terabytes to restate what a checksum sidecar already asserts wastes hours. Where they are present they are noted and left to do their job.

06 · Suppliers

Each vendor gets their part, and only their part.

Issuing a pack is licensed · Checking against one is free

A job has a captions vendor, a social edit shop, a sponsor agency. Handing each of them the whole production convention is worse than handing them nothing: every rule they cannot act on is noise that hides the rules they can.

Derived, never written twice

A vendor pack is generated from the master convention. They cannot drift from a document they did not author, and nobody has to remember to send them a revision.

Stated in plain words

The pack says what they owe, in what folder, under what name, in what codec, with which sidecars, by when; and how to check their own work before they send it.

A ledger, coming back

Point it at the incoming deliveries and it reports who is clear, who has errors that will be rejected, and who has sent nothing at all.

07 · The rule set

What it checks.

Errors mean an ingest will fail. Warnings mean the result is inconsistent but will work. Conflating the two makes a report nobody forwards, and a report nobody forwards is worth nothing.

Check Level What it means
Filename Error The name does not parse against the pattern; and the report names the field at fault, not just the file
Folder Error The file is not where its own name says it belongs
Field conflict Error The folder and the filename disagree with each other
Running order Error The session named is not the session that was running at that time
Codec and container Error Not the format the delivery specification requires
Resolution, frame rate, scan Error Read from the file itself, not from the filename's claim about it
Audio configuration Error Channel count, layout, sample rate, bit depth
Missing sidecars Error Captions, checksums or metadata the deliverable is required to carry
Incomplete package Error A session is short something it owes (a master, a proxy, a cutdown)
Windows portability Error Illegal characters, reserved names, trailing dots, paths over the limit
Case collision Error Two files that cannot coexist on the volume they are going to
Unscheduled media Warning Nothing was running at that clock time
Loose files, missing folders Warning The structure does not match what was agreed
Unicode normalisation Warning A name that compares as equal on one platform and unequal on another
The specification format

One document, five jobs.

The same file drives the walkthrough, the validator, the conformer, the copy that rides on the drive, and the copy each vendor receives. It is plain YAML with a published JSON Schema, deliberately named for what it does rather than for the product, so it outlives any change of name. Nothing is hidden in application state: a specification and a folder are enough to reproduce a result exactly.

08 · Availability

Shipping. Three ways in.

The checker is free, permanently. It reads only; it cannot rename, move or delete anything, which is exactly why it can be handed to a vendor you have never met. The operations that write to your media are licensed with the DailiesDrop™ monthly subscription, on every unit and both tiers.

Nothing to install Check a drive you were sent mvrk.systems/verify Opens in the browser. Your files are read on your own machine and never leave it. Open it
In DailiesDrop™ Conform your own jobs a panel in the
DailiesDrop™ interface
Everything that writes lives here: recover a convention, conform against it, undo a run, seal a drive. Nothing to download, because it is not a separate application.
If you already have Python Install the free checker pip install shuttlecheck
shuttlecheck ui
The same read-only engine, free and permanent. The browser checker exists so nobody has to do this.
Headless Put it in a delivery hook shuttlecheck validate <folder> Same checks, no interface. Exits non-zero when an ingest would fail.
Free, permanently

ShuttleCheck™

Free

  • Work out the convention from a finished job
  • Check names, folders and structure against it
  • Check codec, resolution, frame rate, audio and sidecars
  • Check a drive that arrived, against the rules it carries
  • See exactly which files Pro would rename, before paying for it
  • In the browser at mvrk.systems/verify, or pip install shuttlecheck

No account, no licence key, no connection. A report nobody can be charged for is a report that gets forwarded.

Included with DailiesDrop™

ShuttleCheck™ Pro

€229 / mo PER ACTIVE DEVICE

  • A panel in the DailiesDrop™ interface (nothing to download, no Python and no terminal)
  • Conform files to the convention, under a reversible journal
  • Undo any run
  • Seal a drive so the far end can check it
  • Issue each supplier a scoped copy of their own rules
  • The per-vendor conformance ledger

Everything that writes. Not a separate application and not sold separately: it is a panel inside the DailiesDrop™ interface, on every unit and both tiers. Same engine as the free checker, so there is no second tool to learn.

On the roadmap

Loudness measurement, running-order formats beyond CSV, embedded camera metadata past a start timecode, folder renaming.

Licence

Free to install and use, including commercially, on any number of machines. Not open source: no right to redistribute or modify.

Where to start

Run it against a job you have already finished.

The most useful first thing anyone does with it is point it at last season's work and read what comes back. Nothing is renamed, nothing leaves your network, and there is no account; so there is nothing to weigh up before trying it on real material.

The checker runs in the browser. Point it at a folder and read the report; nothing is installed, nothing is uploaded, and there is no account to make first.

Everything that reads is free and stays free. Conforming, sealing and vendor packs write to your media, so they come with the DailiesDrop™ subscription rather than a separate licence. Checking codecs, resolution and frame rate needs ffmpeg on your machine; without it the report says those were skipped rather than passed.