Current definition flags-v2. Charts stamped with it were computed by src/resolution/flags.py, and every value plotted for a past date could have been computed on that date.
Five flag types, per the design:
1 source the two venues name different deciding authorities 2 cutoff different deadline or timezone convention 3 edge_case one side says what happens on cancellation/postponement, the other does not 4 subjective wording that requires a judgement call — "officially", "significant" 5 dispute this venue, or this category, has contested outcomes on record
Types 4 and 5 are computable on a single venue, and are live now. Types 1-3 compare a linked pair, so they depend on the matching step and are scored only where a link exists.
Every rule here is deliberately shallow: a keyword list and a regex are not comprehension. They exist to rank what a human should read first, which is exactly what the design says the manual layer is for. A flag is a pointer, not a verdict.
MATCHING — read before adding a term
Every needle below is matched on WORD BOUNDARIES, and a trailing * marks a stem that may take a suffix. flags-v1 matched by plain substring, which was a bug with teeth once the corpus grew from 4,199 markets to 132,154:
"tie" matched parties, securities, authorities, entities, hostilities
— 3,400 markets, of which 2,434 had no other edge-case term and
were credited with coverage purely because their rules say
"the parties"
"draw" matched withdraws (3,356 of its 9,942 hits)
"official" matched officially, so one word raised two of the four subjective
slots — 14,996 markets carry "officially", and 2,976 of them lost
a subjective term when the double-count was removedThe first two are the dangerous direction: a false match on an edge-case term CREDITS a contract with coverage it does not have and LOWERS its risk score. A contract that never says what happens on cancellation was passing because it said "the parties".
Fixing it made the edge-case flag much sharper, which is the point. Holding volume decile fixed, on the top decile where the money is, markets lacking edge-case coverage are disputed at 11.39% against 1.70% for those that have it — a 6.7x separation, against 1.3x for the same flag under substring matching.
Note the stems: cancel* still matches "cancelled" and "cancellation", so the fix is narrow. Only 4.2% of the corpus changes score, and the two scorings rank the corpus at a 0.995 correlation. This corrects a defect; it does not re-tune.
Newest first. Each entry says what changed and whether values that had already been published moved with it, followed by the sentence from the module that decided the verdict.
word-boundary matching with explicit stems. Scores move; see PHASE4_THRESHOLDS.md for the before/after distribution and for which flags survive a volume control. Weights are UNCHANGED and deliberately so — see DEFAULT_WEIGHTS.
At least one value that had already been published is different now. Charts drawn before this version do not match charts drawn after it.
Scores move; see PHASE4_THRESHOLDS.md for the before/after distribution and for which flags survive a volume control.
Weights are UNCHANGED and deliberately so — see DEFAULT_WEIGHTS.
subjective wording, missing source, timezone, edge-case coverage, dispute history. Substring matching.
The first version of this metric. There is no earlier definition to restate.
3 charts name this metric in their readout line. None of them names it first, so a count taken from the leading stamp alone reports 0 rather than 3. A chart built on several definitions carries all of them, and being second in that list is not the same as being unused.