Identification Queue — Policies

what happens to a link sent to /identifications/ Submit / upload Dashboard PyRoOrb

This queue accepts identifications in the MPC's identification format, checks each link with PyRoOrb, tries to extend it with Isolated Tracklet File (ITF) tracklets, and forwards it to the Minor Planet Center at a pace the MPC can absorb. It does not replace the MPC: the MPC still decides every identification, and tells the submitter by e-mail.

Submit: paste or upload a document on the submit page, POST it from a script (section 1), or use "Submit linkage" in PyRoOrb itself. Watch: the live dashboard.

Numbers in this colour are this server's live settings where it could read them, and the defaults otherwise.

1. Submitting

POST a JSON document to https://www.pyroorb.net/identifications/, or send it as a GET with a JSON body (the verb the MPC's own endpoint takes). It has a header (name, email, optional comment) and links (link_0, link_1, …). Each link names at least two ids: PACKED designations and/or trksubs as [trkSub, date, obs-code], with optional identification_type: "neocp" and an optional orbit.

{"header": {"name": "J. Doe", "email": "jdoe@example.org"},
 "links": {"link_0": {"designations": ["K16G96F"],
                      "trksubs": [["C3XY12A", "2024-03-05", "G96"]]}}}

2. What is forwarded: a link is never edited

What goes to the MPC is your link exactly as received — every field, every value, in your spelling — under your own header, one link per outgoing document. Nothing is repacked or normalised. The only changes are:

3. What we check

stepwhat
formatheader, ids, the date forms, observatory codes, orbit fields, at least two ids. Designations must be packed: pack(unpack(s)) == s.
resolveeach designation has MPC observations; each tracklet is in the archive (trkSub + station, within a day) or on the NEOCP.
ITF extensionone ITF search seeded from all of the link's astrometry, run in a background slot that always leaves one free for people using PyRoOrb. What it finds is added only when it LINKED and raised no warning of its own; otherwise the link goes on as you sent it, and the search's warnings are not counted against it.
already knownis the (extended) link only designations the MPC has already joined? See duplicates.
warningsa joint identification fit of everything the link will name, judged by the same rule as PyRoOrb's own "Submit linkage" button. Each of these counts as one warning: a verdict that is not a clean y, each caution of the identification check, a significant absolute-magnitude disagreement between apparitions, and each id the queue could not find but forwarded anyway under noreject.
overlapagainst other links, sent or waiting. See duplicates.
holdSee held for review.

4. What is refused (censored)

A censored link is never sent. Three kinds:

The dashboard's Spared the MPC card counts every link censored or dropped, for any reason: each is an identification the MPC did not have to process.

Temporary trouble (the archive or the MPC unreachable, a search that crashed) never censors a link. See failures.

5. Duplicates

6. What is held for review

A link is held, not sent, when the identification check says no (or the joint fit failed), when the check's verdict is one it would not offer for submission (y2, y-systematic, unknown), or when it raised 2 or more warnings. A reviewer sees the warnings and the fit, then releases it (normal pacing) or censors it as bogus. The public dashboard shows only how many warnings a held link has.

7. Order of work

  1. Tier 0 first: a link flagged neocp, a link with a tracklet on the NEOCP now, or one naming a designation whose published perihelion distance is under 1.3 au.
  2. Within a tier, the priority score = tracklets + 3 × designations, highest first (3 tracklets + 2 designations = 9).
  3. Then first come, first served.

8. Pacing of sends to the MPC

The MPC processes identifications by hand. The queue paces what it sends so as not to bury them, checked in this order:

  1. Floor. No two sends of any kind closer than 5 s.
  2. Immediate. A tier-0 (NEO / NEOCP) link goes the moment our checks finish. These do not wait behind anything and do not count toward the rotation below.
  3. Top-up. We read the MPC's own count of unprocessed identification submissions (its status table, re-read every two minutes) and add what we sent since it was last updated. While that is under 250, waiting links go one per floor interval.
  4. Cadence. Otherwise one link every 5 minutes, whatever the backlog.

Fairness. Of the paced sends (top-up or cadence), every 3rd is round-robin: the next submitter, in alphabetical order of e-mail address, who has something ready gets their highest-priority link sent. The others go by priority. So one person submitting a thousand links cannot hold everyone else back.

Links are processed even while sending is switched off; they then wait as ready.

9. Failures and retries

10. The noextend and noreject flags

Either may be set on the whole document or on one link. Neither is forwarded to the MPC.

11. Tracking the MPC's decision

The MPC's immediate reply is only an acknowledgement. Every 10 minutes we look at what the MPC has published: whether each sent tracklet's observations have been filed under a designation, and whether each designation now belongs to a joined family. A link is then:

statusmeaning
acceptedeverything it names is now one object (final)
partialtwo or more of its ids are joined, not all
conflicta tracklet was filed under a different object, or split between two objects
pendingnothing joined yet
refusednot accepted 14 days after it was sent (final)

12. What is public