d1444e2ca8e21460228433810b1a6703c6520db1
braney
  Mon Sep 7 12:02:02 2026 -0700
otto: keep the two surveys beside the monitor that reads them, refs #38101

The monitor's stamp table is the machine-readable half of a survey that
lived only in the redmineNotes directory, which is not a repository. The
reasoning behind each of the forty globs, and the measured curl shape
behind each source URL, were therefore one copy on /hive.

Both surveys now sit beside the script. Read ottoFailureSignatures.tsv
before changing a stamp glob: it says what each job writes and when, which
is the difference between a stamp that tracks every run and one that only
moves when the data changes.

diff --git src/hg/utils/otto/ottoMonitor/ottoMonitorStamps.tsv src/hg/utils/otto/ottoMonitor/ottoMonitorStamps.tsv
index 696b08eba2d..507874893c0 100644
--- src/hg/utils/otto/ottoMonitor/ottoMonitorStamps.tsv
+++ src/hg/utils/otto/ottoMonitor/ottoMonitorStamps.tsv
@@ -2,32 +2,32 @@
 #
 # One row per job in otto.crontab.  The job name and the schedule come from
 # ottoOwners.tsv; this file says only where to look to find out whether the job
 # ran, which ottoOwners.tsv has no business carrying.
 #
 # stampGlob   a shell glob.  The monitor takes the NEWEST mtime among the
 #             matches and calls that the last run.  "-" means the job leaves
 #             nothing behind on a run that finds no new data, so whether it ran
 #             cannot be answered from disk at all.  Those jobs are reported as
 #             blind rather than as passing.
 # graceHours  how long after the scheduled time the stamp is still allowed to be
 #             missing.  It covers both a slow job and a late start.  Default 6.
 #             uniprot gets five days because the run itself takes three or four.
 # note        why this glob and not another.  Read it before changing one.
 #
-# Derived from the survey in
-# /hive/groups/browser/redmineNotes/38101/claude/ottoFailureSignatures.tsv
+# Derived from ottoFailureSignatures.tsv, beside this file.  Read that before
+# changing a glob here: it says what each job writes, when, and why.
 #
 #job	stampGlob	graceHours	note
 clinvar	/hive/data/outside/otto/clinvar/log/clinvar.log	18	appended by tee -a on every run
 geneReviews	/hive/data/outside/otto/geneReviews/lastRun.log	12	written every run by the wrapper
 decipher	/hive/data/outside/otto/decipher	6	dir mtime: the curl writes and removes the variants bed
 gwas	-	6	blind: the dated dir is created only after the change check
 dbVar	/hive/data/outside/otto/dbVar/2???-??-??	12	the dated dir is made before any check
 orphanet	/hive/data/outside/otto/orphanet/2???-??-??	12	the dated dir is made in the wrapper before any check
 insight	/hive/data/outside/otto/insight/log/insight.*.log	8	one log per run, kept even when the build dir is deleted
 omim	/hive/data/outside/otto/omim/2???-??-??	8	the dated dir is made before the md5 compare
 lovd	/hive/data/outside/otto/lovd/2???-??-??	8	the dated dir is made at the top of download.sh
 mitoMap	/hive/data/outside/otto/mitoMap	8	dir mtime: the .latest.tsv files are written then removed
 refSeqHistorical	-	6	blind: a notifier, it writes only when NCBI has something new
 strchive	-	6	blind: writes only on a new GitHub release
 vcepVersions	-	6	blind: a pure notifier, it writes nothing at all