# Part 3 of 4 -- r2-edh-b1 (EDH/Roman inscriptions), items 1-10 of 19

Part of the Popper Engine adversarial-rivals Grok pack. See `GROK_PACK_20260806.md` for full operator instructions. Paste each numbered block below as ONE Grok chat turn (a fresh block = a fresh, unrelated turn -- do not chain them in the same conversation, so one item's evidence never leaks into another's answer). Save each reply as raw text into the drop folder named at the end of that block.


################################################################
CONJECTURE r2-edh-b1-01  --  PASTE THIS ENTIRE BLOCK AS ONE GROK MESSAGE
################################################################

You are acting as an independent scientific referee. You will be shown ONE
empirical conjecture from a data-driven research project that catalogues
historical manuscripts and inscriptions, together with: the mechanism its
authors proposed to explain it, a summary of the training evidence that
supported it while it was being developed, and the outcome of a single
pre-registered test the authors later ran against held-out data (data that
was not consulted while the conjecture was written).

Your task is not to defend or attack the conjecture's authors. Your task is
to ask a narrower question: is there a DIFFERENT causal mechanism, distinct
from the one proposed, that would produce the same training-evidence pattern
AND the same held-out outcome equally well or better? A mechanism that is
merely "also consistent with the data" is not enough — it should be a
genuine rival explanation, one a careful skeptic would actually worry about.

## The conjecture

**Claim (as registered):** The five largest holdout provinces by inscription count account for at least 45% of the full holdout total.

**Proposed mechanism:** Proposed mechanism: uneven modern excavation/recovery and collection effort concentrates surviving, catalogued inscriptions heavily in a handful of well-excavated provinces -- an unevenness pattern expected to recur regardless of which half of the alphabet a given province's code happens to fall in.

**Scope:** Source: the Epigraphic Database Heidelberg (EDH), a catalogue of Roman-period inscriptions on stone/metal/etc. (physical objects, catalogued separately from a manuscript census). Training: the 33 provinces in the alphabetically first half of EDH's own province-code order (42,009 inscriptions). Holdout: the 33 provinces in the alphabetically second half, minus 'Provincia incerta' (EDH's own catch-all for uncertain findspots, not a real geographic unit, excluded from all arithmetic) -- 32 real provinces, 39,457 inscriptions -- landed in one complete fetch after the claim was fixed. EDH's own content has been fixed since 2021 (the cataloguing project's funding ended), so this holdout tests whether a pattern generalizes across an arbitrary alphabetical split of already-catalogued, unchanging material, not whether it predicts new discoveries.

**Training-side evidence:** The five largest training-side provinces (7,647; 6,832; 4,471; 4,440; and 3,582 inscriptions) together hold 64.21% of the 42,009-row training total.

**Holdout test and outcome:** The five largest holdout provinces (4,685; 4,393; 4,259; 3,134; and 2,771 inscriptions) together hold 48.77% of the 39,457-inscription holdout total.

**Status:** Survived (48.77% clears the 45% floor).

## What we need from you

For this conjecture, propose UP TO THREE rival mechanisms. For each rival,
give:

1. **mechanism** — the rival causal mechanism, stated plainly, in one or two
   sentences. It must be genuinely distinct from the stated mechanism above,
   not a rewording of it.
2. **why_it_explains_the_same_evidence** — why this rival would produce the
   same training pattern AND the same held-out outcome described above, at
   least as well as the stated mechanism does.
3. **named_confounds** — the specific confound(s) this rival mechanism turns
   on (for example: cataloguing or data-entry practice, survival or
   preservation bias, a unit-of-count or denominator effect, a harvest or
   digitization artifact, an administrative or geographic classification
   artifact, selection effects in what got catalogued at all). Name the
   actual confound(s) at work here — do not just gesture at "bias" in the
   abstract.
4. **discriminating_test** — a concrete, specific, and in-principle
   computable procedure that would produce a DIFFERENT predicted result
   under your rival mechanism than under the stated mechanism. State: what
   you would measure, and what result would come out differently. Say
   whether it could run against data of the same kind already described
   above (the same catalogue or an extension of it), or would need a
   different dataset.

**Quality over count.** If you cannot construct a genuine rival that is at
least as plausible as the stated mechanism, do not invent a weak one just to
fill the list. Declaring no viable rival is a MORE useful and MORE valued
answer than a strained one — a rival that is obviously worse than the
original actively harms this exercise, because it wastes the reader's time
checking a mechanism no one should have believed in the first place. Zero,
one, two, or three rivals are all acceptable outputs. Most conjectures will
not have three good rivals; some will have none.

## What you are not given, and should not guess at

You are not told how close to its pass/fail boundary this conjecture's
held-out test came, how any other conjecture in the same project fared, or
how this result will be used downstream. Do not speculate about any of
that. Evaluate this conjecture entirely on its own terms, using only the
evidence given above.

## Output format

Respond with STRICT JSON ONLY. No prose before or after the JSON, no
markdown code fences, no commentary outside the JSON structure itself. The
JSON must have exactly this shape:

{
  "rivals": [
    {
      "mechanism": "string",
      "why_it_explains_the_same_evidence": "string",
      "named_confounds": ["string", "..."],
      "discriminating_test": {
        "description": "string",
        "computable_on_held_data": true,
        "what_result_favors_rival": "string"
      }
    }
  ],
  "no_viable_rival": false,
  "notes": "string"
}

Rules for the JSON:
- "rivals" is an array of zero to three objects, in the shape shown above.
  Zero entries is valid and expected whenever no genuine rival exists.
- If "rivals" is empty, set "no_viable_rival" to true. If "rivals" is
  non-empty, set "no_viable_rival" to false.
- "named_confounds" is an array of short strings (one per confound named).
- "computable_on_held_data" is a boolean: true if the discriminating test
  could be run using data of the same kind described above (the same
  catalogue/source, re-queried or extended), false if it would require a
  fundamentally different dataset not described above.
- "notes" is a string for anything else worth recording; use an empty
  string if there is nothing to add. Do not use it to restate the rivals.
- Do not include any keys other than the ones shown above, at any level.
- Do not wrap the JSON in a code fence (no ``` characters). Output the JSON
  object itself and nothing else — your entire response must be valid JSON,
  parseable with no pre- or post-processing.

################################################################
END OF r2-edh-b1-01
Save Grok's reply, verbatim, as plain text, to:
  docs/generated/popper_rivals/r2-edh-b1/grok/r2-edh-b1-01.md
################################################################

################################################################
CONJECTURE r2-edh-b1-02  --  PASTE THIS ENTIRE BLOCK AS ONE GROK MESSAGE
################################################################

You are acting as an independent scientific referee. You will be shown ONE
empirical conjecture from a data-driven research project that catalogues
historical manuscripts and inscriptions, together with: the mechanism its
authors proposed to explain it, a summary of the training evidence that
supported it while it was being developed, and the outcome of a single
pre-registered test the authors later ran against held-out data (data that
was not consulted while the conjecture was written).

Your task is not to defend or attack the conjecture's authors. Your task is
to ask a narrower question: is there a DIFFERENT causal mechanism, distinct
from the one proposed, that would produce the same training-evidence pattern
AND the same held-out outcome equally well or better? A mechanism that is
merely "also consistent with the data" is not enough — it should be a
genuine rival explanation, one a careful skeptic would actually worry about.

## The conjecture

**Claim (as registered):** No single province accounts for 30% or more of the full holdout total.

**Proposed mechanism:** The bounded counterpart of the concentration claim above: no single excavation or collection effort is proposed to dominate an entire half-alphabet partition on its own.

**Scope:** Source: the Epigraphic Database Heidelberg (EDH), a catalogue of Roman-period inscriptions on stone/metal/etc. (physical objects, catalogued separately from a manuscript census). Training: the 33 provinces in the alphabetically first half of EDH's own province-code order (42,009 inscriptions). Holdout: the 33 provinces in the alphabetically second half, minus 'Provincia incerta' (EDH's own catch-all for uncertain findspots, not a real geographic unit, excluded from all arithmetic) -- 32 real provinces, 39,457 inscriptions -- landed in one complete fetch after the claim was fixed. EDH's own content has been fixed since 2021 (the cataloguing project's funding ended), so this holdout tests whether a pattern generalizes across an arbitrary alphabetical split of already-catalogued, unchanging material, not whether it predicts new discoveries.

**Training-side evidence:** The largest single training-side province holds 18.20% of the training total (7,647 of 42,009).

**Holdout test and outcome:** The largest single holdout province holds 11.87% of the holdout total (4,685 of 39,457).

**Status:** Survived (11.87% clears the <30% ceiling).

## What we need from you

For this conjecture, propose UP TO THREE rival mechanisms. For each rival,
give:

1. **mechanism** — the rival causal mechanism, stated plainly, in one or two
   sentences. It must be genuinely distinct from the stated mechanism above,
   not a rewording of it.
2. **why_it_explains_the_same_evidence** — why this rival would produce the
   same training pattern AND the same held-out outcome described above, at
   least as well as the stated mechanism does.
3. **named_confounds** — the specific confound(s) this rival mechanism turns
   on (for example: cataloguing or data-entry practice, survival or
   preservation bias, a unit-of-count or denominator effect, a harvest or
   digitization artifact, an administrative or geographic classification
   artifact, selection effects in what got catalogued at all). Name the
   actual confound(s) at work here — do not just gesture at "bias" in the
   abstract.
4. **discriminating_test** — a concrete, specific, and in-principle
   computable procedure that would produce a DIFFERENT predicted result
   under your rival mechanism than under the stated mechanism. State: what
   you would measure, and what result would come out differently. Say
   whether it could run against data of the same kind already described
   above (the same catalogue or an extension of it), or would need a
   different dataset.

**Quality over count.** If you cannot construct a genuine rival that is at
least as plausible as the stated mechanism, do not invent a weak one just to
fill the list. Declaring no viable rival is a MORE useful and MORE valued
answer than a strained one — a rival that is obviously worse than the
original actively harms this exercise, because it wastes the reader's time
checking a mechanism no one should have believed in the first place. Zero,
one, two, or three rivals are all acceptable outputs. Most conjectures will
not have three good rivals; some will have none.

## What you are not given, and should not guess at

You are not told how close to its pass/fail boundary this conjecture's
held-out test came, how any other conjecture in the same project fared, or
how this result will be used downstream. Do not speculate about any of
that. Evaluate this conjecture entirely on its own terms, using only the
evidence given above.

## Output format

Respond with STRICT JSON ONLY. No prose before or after the JSON, no
markdown code fences, no commentary outside the JSON structure itself. The
JSON must have exactly this shape:

{
  "rivals": [
    {
      "mechanism": "string",
      "why_it_explains_the_same_evidence": "string",
      "named_confounds": ["string", "..."],
      "discriminating_test": {
        "description": "string",
        "computable_on_held_data": true,
        "what_result_favors_rival": "string"
      }
    }
  ],
  "no_viable_rival": false,
  "notes": "string"
}

Rules for the JSON:
- "rivals" is an array of zero to three objects, in the shape shown above.
  Zero entries is valid and expected whenever no genuine rival exists.
- If "rivals" is empty, set "no_viable_rival" to true. If "rivals" is
  non-empty, set "no_viable_rival" to false.
- "named_confounds" is an array of short strings (one per confound named).
- "computable_on_held_data" is a boolean: true if the discriminating test
  could be run using data of the same kind described above (the same
  catalogue/source, re-queried or extended), false if it would require a
  fundamentally different dataset not described above.
- "notes" is a string for anything else worth recording; use an empty
  string if there is nothing to add. Do not use it to restate the rivals.
- Do not include any keys other than the ones shown above, at any level.
- Do not wrap the JSON in a code fence (no ``` characters). Output the JSON
  object itself and nothing else — your entire response must be valid JSON,
  parseable with no pre- or post-processing.

################################################################
END OF r2-edh-b1-02
Save Grok's reply, verbatim, as plain text, to:
  docs/generated/popper_rivals/r2-edh-b1/grok/r2-edh-b1-02.md
################################################################

################################################################
CONJECTURE r2-edh-b1-03  --  PASTE THIS ENTIRE BLOCK AS ONE GROK MESSAGE
################################################################

You are acting as an independent scientific referee. You will be shown ONE
empirical conjecture from a data-driven research project that catalogues
historical manuscripts and inscriptions, together with: the mechanism its
authors proposed to explain it, a summary of the training evidence that
supported it while it was being developed, and the outcome of a single
pre-registered test the authors later ran against held-out data (data that
was not consulted while the conjecture was written).

Your task is not to defend or attack the conjecture's authors. Your task is
to ask a narrower question: is there a DIFFERENT causal mechanism, distinct
from the one proposed, that would produce the same training-evidence pattern
AND the same held-out outcome equally well or better? A mechanism that is
merely "also consistent with the data" is not enough — it should be a
genuine rival explanation, one a careful skeptic would actually worry about.

## The conjecture

**Claim (as registered):** The training slice's heavy-tailed province-size structure (many small provinces, a few very large ones) recurs in the holdout: at least 12 of the 32 holdout provinces land with fewer than 300 inscriptions, AND at least 5 land with 1,000 or more.

**Proposed mechanism:** The same unevenness-of-recovery pattern as the two claims above, expressed as a shape claim over the whole province-size distribution rather than a claim about the largest provinces specifically.

**Scope:** Source: the Epigraphic Database Heidelberg (EDH), a catalogue of Roman-period inscriptions on stone/metal/etc. (physical objects, catalogued separately from a manuscript census). Training: the 33 provinces in the alphabetically first half of EDH's own province-code order (42,009 inscriptions). Holdout: the 33 provinces in the alphabetically second half, minus 'Provincia incerta' (EDH's own catch-all for uncertain findspots, not a real geographic unit, excluded from all arithmetic) -- 32 real provinces, 39,457 inscriptions -- landed in one complete fetch after the claim was fixed. EDH's own content has been fixed since 2021 (the cataloguing project's funding ended), so this holdout tests whether a pattern generalizes across an arbitrary alphabetical split of already-catalogued, unchanging material, not whether it predicts new discoveries.

**Training-side evidence:** 18 of the 33 training-side provinces (54.5%) land under 300 inscriptions; 9 of 33 (27.3%) land at 1,000 or more.

**Holdout test and outcome:** Exactly 12 of the 32 holdout provinces land under 300 inscriptions (precisely the registered floor); 15 of 32 land at 1,000 or more (well past the registered floor of 5).

**Status:** Survived (both clauses of the conjunction cleared).

## What we need from you

For this conjecture, propose UP TO THREE rival mechanisms. For each rival,
give:

1. **mechanism** — the rival causal mechanism, stated plainly, in one or two
   sentences. It must be genuinely distinct from the stated mechanism above,
   not a rewording of it.
2. **why_it_explains_the_same_evidence** — why this rival would produce the
   same training pattern AND the same held-out outcome described above, at
   least as well as the stated mechanism does.
3. **named_confounds** — the specific confound(s) this rival mechanism turns
   on (for example: cataloguing or data-entry practice, survival or
   preservation bias, a unit-of-count or denominator effect, a harvest or
   digitization artifact, an administrative or geographic classification
   artifact, selection effects in what got catalogued at all). Name the
   actual confound(s) at work here — do not just gesture at "bias" in the
   abstract.
4. **discriminating_test** — a concrete, specific, and in-principle
   computable procedure that would produce a DIFFERENT predicted result
   under your rival mechanism than under the stated mechanism. State: what
   you would measure, and what result would come out differently. Say
   whether it could run against data of the same kind already described
   above (the same catalogue or an extension of it), or would need a
   different dataset.

**Quality over count.** If you cannot construct a genuine rival that is at
least as plausible as the stated mechanism, do not invent a weak one just to
fill the list. Declaring no viable rival is a MORE useful and MORE valued
answer than a strained one — a rival that is obviously worse than the
original actively harms this exercise, because it wastes the reader's time
checking a mechanism no one should have believed in the first place. Zero,
one, two, or three rivals are all acceptable outputs. Most conjectures will
not have three good rivals; some will have none.

## What you are not given, and should not guess at

You are not told how close to its pass/fail boundary this conjecture's
held-out test came, how any other conjecture in the same project fared, or
how this result will be used downstream. Do not speculate about any of
that. Evaluate this conjecture entirely on its own terms, using only the
evidence given above.

## Output format

Respond with STRICT JSON ONLY. No prose before or after the JSON, no
markdown code fences, no commentary outside the JSON structure itself. The
JSON must have exactly this shape:

{
  "rivals": [
    {
      "mechanism": "string",
      "why_it_explains_the_same_evidence": "string",
      "named_confounds": ["string", "..."],
      "discriminating_test": {
        "description": "string",
        "computable_on_held_data": true,
        "what_result_favors_rival": "string"
      }
    }
  ],
  "no_viable_rival": false,
  "notes": "string"
}

Rules for the JSON:
- "rivals" is an array of zero to three objects, in the shape shown above.
  Zero entries is valid and expected whenever no genuine rival exists.
- If "rivals" is empty, set "no_viable_rival" to true. If "rivals" is
  non-empty, set "no_viable_rival" to false.
- "named_confounds" is an array of short strings (one per confound named).
- "computable_on_held_data" is a boolean: true if the discriminating test
  could be run using data of the same kind described above (the same
  catalogue/source, re-queried or extended), false if it would require a
  fundamentally different dataset not described above.
- "notes" is a string for anything else worth recording; use an empty
  string if there is nothing to add. Do not use it to restate the rivals.
- Do not include any keys other than the ones shown above, at any level.
- Do not wrap the JSON in a code fence (no ``` characters). Output the JSON
  object itself and nothing else — your entire response must be valid JSON,
  parseable with no pre- or post-processing.

################################################################
END OF r2-edh-b1-03
Save Grok's reply, verbatim, as plain text, to:
  docs/generated/popper_rivals/r2-edh-b1/grok/r2-edh-b1-03.md
################################################################

################################################################
CONJECTURE r2-edh-b1-04  --  PASTE THIS ENTIRE BLOCK AS ONE GROK MESSAGE
################################################################

You are acting as an independent scientific referee. You will be shown ONE
empirical conjecture from a data-driven research project that catalogues
historical manuscripts and inscriptions, together with: the mechanism its
authors proposed to explain it, a summary of the training evidence that
supported it while it was being developed, and the outcome of a single
pre-registered test the authors later ran against held-out data (data that
was not consulted while the conjecture was written).

Your task is not to defend or attack the conjecture's authors. Your task is
to ask a narrower question: is there a DIFFERENT causal mechanism, distinct
from the one proposed, that would produce the same training-evidence pattern
AND the same held-out outcome equally well or better? A mechanism that is
merely "also consistent with the data" is not enough — it should be a
genuine rival explanation, one a careful skeptic would actually worry about.

## The conjecture

**Claim (as registered):** Province-level date-coverage (share of inscriptions with a resolved start date) is highly heterogeneous rather than clustering around a central value: at least one eligible holdout province lands with dated-share under 35%, AND at least one lands over 95%.

**Proposed mechanism:** Date-resolution coverage is proposed to depend on province-specific epigraphic conventions and modern cataloguing depth, which vary widely and unevenly rather than clustering around any typical value.

**Scope:** Source: the Epigraphic Database Heidelberg (EDH), a catalogue of Roman-period inscriptions on stone/metal/etc. (physical objects, catalogued separately from a manuscript census). Training: the 33 provinces in the alphabetically first half of EDH's own province-code order (42,009 inscriptions). Holdout: the 33 provinces in the alphabetically second half, minus 'Provincia incerta' (EDH's own catch-all for uncertain findspots, not a real geographic unit, excluded from all arithmetic) -- 32 real provinces, 39,457 inscriptions -- landed in one complete fetch after the claim was fixed. EDH's own content has been fixed since 2021 (the cataloguing project's funding ended), so this holdout tests whether a pattern generalizes across an arbitrary alphabetical split of already-catalogued, unchanging material, not whether it predicts new discoveries. Minimum support: at least 30 landed inscriptions in a province for it to count.

**Training-side evidence:** Low end: two training provinces under 20% dated (15.49%, 18.18%). High end: several training provinces above 98% dated, one reaching exactly 100%.

**Holdout test and outcome:** Of 29 eligible holdout provinces: low end 13.40% dated (the furthest below the 35% line), high end 99.60% dated (the furthest above the 95% line).

**Status:** Survived (both extremes reproduced in the holdout).

## What we need from you

For this conjecture, propose UP TO THREE rival mechanisms. For each rival,
give:

1. **mechanism** — the rival causal mechanism, stated plainly, in one or two
   sentences. It must be genuinely distinct from the stated mechanism above,
   not a rewording of it.
2. **why_it_explains_the_same_evidence** — why this rival would produce the
   same training pattern AND the same held-out outcome described above, at
   least as well as the stated mechanism does.
3. **named_confounds** — the specific confound(s) this rival mechanism turns
   on (for example: cataloguing or data-entry practice, survival or
   preservation bias, a unit-of-count or denominator effect, a harvest or
   digitization artifact, an administrative or geographic classification
   artifact, selection effects in what got catalogued at all). Name the
   actual confound(s) at work here — do not just gesture at "bias" in the
   abstract.
4. **discriminating_test** — a concrete, specific, and in-principle
   computable procedure that would produce a DIFFERENT predicted result
   under your rival mechanism than under the stated mechanism. State: what
   you would measure, and what result would come out differently. Say
   whether it could run against data of the same kind already described
   above (the same catalogue or an extension of it), or would need a
   different dataset.

**Quality over count.** If you cannot construct a genuine rival that is at
least as plausible as the stated mechanism, do not invent a weak one just to
fill the list. Declaring no viable rival is a MORE useful and MORE valued
answer than a strained one — a rival that is obviously worse than the
original actively harms this exercise, because it wastes the reader's time
checking a mechanism no one should have believed in the first place. Zero,
one, two, or three rivals are all acceptable outputs. Most conjectures will
not have three good rivals; some will have none.

## What you are not given, and should not guess at

You are not told how close to its pass/fail boundary this conjecture's
held-out test came, how any other conjecture in the same project fared, or
how this result will be used downstream. Do not speculate about any of
that. Evaluate this conjecture entirely on its own terms, using only the
evidence given above.

## Output format

Respond with STRICT JSON ONLY. No prose before or after the JSON, no
markdown code fences, no commentary outside the JSON structure itself. The
JSON must have exactly this shape:

{
  "rivals": [
    {
      "mechanism": "string",
      "why_it_explains_the_same_evidence": "string",
      "named_confounds": ["string", "..."],
      "discriminating_test": {
        "description": "string",
        "computable_on_held_data": true,
        "what_result_favors_rival": "string"
      }
    }
  ],
  "no_viable_rival": false,
  "notes": "string"
}

Rules for the JSON:
- "rivals" is an array of zero to three objects, in the shape shown above.
  Zero entries is valid and expected whenever no genuine rival exists.
- If "rivals" is empty, set "no_viable_rival" to true. If "rivals" is
  non-empty, set "no_viable_rival" to false.
- "named_confounds" is an array of short strings (one per confound named).
- "computable_on_held_data" is a boolean: true if the discriminating test
  could be run using data of the same kind described above (the same
  catalogue/source, re-queried or extended), false if it would require a
  fundamentally different dataset not described above.
- "notes" is a string for anything else worth recording; use an empty
  string if there is nothing to add. Do not use it to restate the rivals.
- Do not include any keys other than the ones shown above, at any level.
- Do not wrap the JSON in a code fence (no ``` characters). Output the JSON
  object itself and nothing else — your entire response must be valid JSON,
  parseable with no pre- or post-processing.

################################################################
END OF r2-edh-b1-04
Save Grok's reply, verbatim, as plain text, to:
  docs/generated/popper_rivals/r2-edh-b1/grok/r2-edh-b1-04.md
################################################################

################################################################
CONJECTURE r2-edh-b1-06  --  PASTE THIS ENTIRE BLOCK AS ONE GROK MESSAGE
################################################################

You are acting as an independent scientific referee. You will be shown ONE
empirical conjecture from a data-driven research project that catalogues
historical manuscripts and inscriptions, together with: the mechanism its
authors proposed to explain it, a summary of the training evidence that
supported it while it was being developed, and the outcome of a single
pre-registered test the authors later ran against held-out data (data that
was not consulted while the conjecture was written).

Your task is not to defend or attack the conjecture's authors. Your task is
to ask a narrower question: is there a DIFFERENT causal mechanism, distinct
from the one proposed, that would produce the same training-evidence pattern
AND the same held-out outcome equally well or better? A mechanism that is
merely "also consistent with the data" is not enough — it should be a
genuine rival explanation, one a careful skeptic would actually worry about.

## The conjecture

**Claim (as registered):** Exact-precision dating (a single specific year, as opposed to a range or no date) stays a minority pattern, at or under 40% of dated rows, in every eligible province.

**Proposed mechanism:** Proposed as a broad documentation-convention ceiling: precise single-year dating is intrinsically rare in Roman epigraphy generally (most inscriptions are dated by style, formula, or a named event to a plausible span, not pinned to one year), so no province is expected to break the ceiling.

**Scope:** Source: the Epigraphic Database Heidelberg (EDH), a catalogue of Roman-period inscriptions on stone/metal/etc. (physical objects, catalogued separately from a manuscript census). Training: the 33 provinces in the alphabetically first half of EDH's own province-code order (42,009 inscriptions). Holdout: the 33 provinces in the alphabetically second half, minus 'Provincia incerta' (EDH's own catch-all for uncertain findspots, not a real geographic unit, excluded from all arithmetic) -- 32 real provinces, 39,457 inscriptions -- landed in one complete fetch after the claim was fixed. EDH's own content has been fixed since 2021 (the cataloguing project's funding ended), so this holdout tests whether a pattern generalizes across an arbitrary alphabetical split of already-catalogued, unchanging material, not whether it predicts new discoveries. Minimum support: at least 20 dated rows in a province.

**Training-side evidence:** After correcting a denominator error found in an earlier description of this training pattern, the true training-side maximum is 38.14% (in one Anatolian province) -- close to, but still under, the 40% ceiling.

**Holdout test and outcome:** Of 29 eligible holdout provinces, the closest approach was 38.46% (one Mauretanian province), still under the 40% ceiling.

**Status:** Survived (the closest approach, in training and in holdout alike, stayed just under the ceiling).

## What we need from you

For this conjecture, propose UP TO THREE rival mechanisms. For each rival,
give:

1. **mechanism** — the rival causal mechanism, stated plainly, in one or two
   sentences. It must be genuinely distinct from the stated mechanism above,
   not a rewording of it.
2. **why_it_explains_the_same_evidence** — why this rival would produce the
   same training pattern AND the same held-out outcome described above, at
   least as well as the stated mechanism does.
3. **named_confounds** — the specific confound(s) this rival mechanism turns
   on (for example: cataloguing or data-entry practice, survival or
   preservation bias, a unit-of-count or denominator effect, a harvest or
   digitization artifact, an administrative or geographic classification
   artifact, selection effects in what got catalogued at all). Name the
   actual confound(s) at work here — do not just gesture at "bias" in the
   abstract.
4. **discriminating_test** — a concrete, specific, and in-principle
   computable procedure that would produce a DIFFERENT predicted result
   under your rival mechanism than under the stated mechanism. State: what
   you would measure, and what result would come out differently. Say
   whether it could run against data of the same kind already described
   above (the same catalogue or an extension of it), or would need a
   different dataset.

**Quality over count.** If you cannot construct a genuine rival that is at
least as plausible as the stated mechanism, do not invent a weak one just to
fill the list. Declaring no viable rival is a MORE useful and MORE valued
answer than a strained one — a rival that is obviously worse than the
original actively harms this exercise, because it wastes the reader's time
checking a mechanism no one should have believed in the first place. Zero,
one, two, or three rivals are all acceptable outputs. Most conjectures will
not have three good rivals; some will have none.

## What you are not given, and should not guess at

You are not told how close to its pass/fail boundary this conjecture's
held-out test came, how any other conjecture in the same project fared, or
how this result will be used downstream. Do not speculate about any of
that. Evaluate this conjecture entirely on its own terms, using only the
evidence given above.

## Output format

Respond with STRICT JSON ONLY. No prose before or after the JSON, no
markdown code fences, no commentary outside the JSON structure itself. The
JSON must have exactly this shape:

{
  "rivals": [
    {
      "mechanism": "string",
      "why_it_explains_the_same_evidence": "string",
      "named_confounds": ["string", "..."],
      "discriminating_test": {
        "description": "string",
        "computable_on_held_data": true,
        "what_result_favors_rival": "string"
      }
    }
  ],
  "no_viable_rival": false,
  "notes": "string"
}

Rules for the JSON:
- "rivals" is an array of zero to three objects, in the shape shown above.
  Zero entries is valid and expected whenever no genuine rival exists.
- If "rivals" is empty, set "no_viable_rival" to true. If "rivals" is
  non-empty, set "no_viable_rival" to false.
- "named_confounds" is an array of short strings (one per confound named).
- "computable_on_held_data" is a boolean: true if the discriminating test
  could be run using data of the same kind described above (the same
  catalogue/source, re-queried or extended), false if it would require a
  fundamentally different dataset not described above.
- "notes" is a string for anything else worth recording; use an empty
  string if there is nothing to add. Do not use it to restate the rivals.
- Do not include any keys other than the ones shown above, at any level.
- Do not wrap the JSON in a code fence (no ``` characters). Output the JSON
  object itself and nothing else — your entire response must be valid JSON,
  parseable with no pre- or post-processing.

################################################################
END OF r2-edh-b1-06
Save Grok's reply, verbatim, as plain text, to:
  docs/generated/popper_rivals/r2-edh-b1/grok/r2-edh-b1-06.md
################################################################

################################################################
CONJECTURE r2-edh-b1-07  --  PASTE THIS ENTIRE BLOCK AS ONE GROK MESSAGE
################################################################

You are acting as an independent scientific referee. You will be shown ONE
empirical conjecture from a data-driven research project that catalogues
historical manuscripts and inscriptions, together with: the mechanism its
authors proposed to explain it, a summary of the training evidence that
supported it while it was being developed, and the outcome of a single
pre-registered test the authors later ran against held-out data (data that
was not consulted while the conjecture was written).

Your task is not to defend or attack the conjecture's authors. Your task is
to ask a narrower question: is there a DIFFERENT causal mechanism, distinct
from the one proposed, that would produce the same training-evidence pattern
AND the same held-out outcome equally well or better? A mechanism that is
merely "also consistent with the data" is not enough — it should be a
genuine rival explanation, one a careful skeptic would actually worry about.

## The conjecture

**Claim (as registered):** Genre diversity (distinct recorded inscription-type values) is at least 8 in every eligible province.

**Proposed mechanism:** A cataloguing/vocabulary-breadth floor: any province with enough surviving, catalogued material to clear the minimum-support threshold is expected to have recorded a reasonably diverse range of inscription genres, not a narrow handful.

**Scope:** Source: the Epigraphic Database Heidelberg (EDH), a catalogue of Roman-period inscriptions on stone/metal/etc. (physical objects, catalogued separately from a manuscript census). Training: the 33 provinces in the alphabetically first half of EDH's own province-code order (42,009 inscriptions). Holdout: the 33 provinces in the alphabetically second half, minus 'Provincia incerta' (EDH's own catch-all for uncertain findspots, not a real geographic unit, excluded from all arithmetic) -- 32 real provinces, 39,457 inscriptions -- landed in one complete fetch after the claim was fixed. EDH's own content has been fixed since 2021 (the cataloguing project's funding ended), so this holdout tests whether a pattern generalizes across an arbitrary alphabetical split of already-catalogued, unchanging material, not whether it predicts new discoveries. Minimum support: at least 150 genre-typed rows in a province. 41 distinct genre values exist across the whole corpus.

**Training-side evidence:** Observed training-side minimum: 11 distinct genres (in a small southern-Italian province, n=196 typed rows). Observed maximum: 36 distinct genres (in a large frontier province, n=5,947 typed rows).

**Holdout test and outcome:** Of 20 eligible holdout provinces, the closest approach to the floor was 14 distinct genres.

**Status:** Survived every eligible holdout province.

## What we need from you

For this conjecture, propose UP TO THREE rival mechanisms. For each rival,
give:

1. **mechanism** — the rival causal mechanism, stated plainly, in one or two
   sentences. It must be genuinely distinct from the stated mechanism above,
   not a rewording of it.
2. **why_it_explains_the_same_evidence** — why this rival would produce the
   same training pattern AND the same held-out outcome described above, at
   least as well as the stated mechanism does.
3. **named_confounds** — the specific confound(s) this rival mechanism turns
   on (for example: cataloguing or data-entry practice, survival or
   preservation bias, a unit-of-count or denominator effect, a harvest or
   digitization artifact, an administrative or geographic classification
   artifact, selection effects in what got catalogued at all). Name the
   actual confound(s) at work here — do not just gesture at "bias" in the
   abstract.
4. **discriminating_test** — a concrete, specific, and in-principle
   computable procedure that would produce a DIFFERENT predicted result
   under your rival mechanism than under the stated mechanism. State: what
   you would measure, and what result would come out differently. Say
   whether it could run against data of the same kind already described
   above (the same catalogue or an extension of it), or would need a
   different dataset.

**Quality over count.** If you cannot construct a genuine rival that is at
least as plausible as the stated mechanism, do not invent a weak one just to
fill the list. Declaring no viable rival is a MORE useful and MORE valued
answer than a strained one — a rival that is obviously worse than the
original actively harms this exercise, because it wastes the reader's time
checking a mechanism no one should have believed in the first place. Zero,
one, two, or three rivals are all acceptable outputs. Most conjectures will
not have three good rivals; some will have none.

## What you are not given, and should not guess at

You are not told how close to its pass/fail boundary this conjecture's
held-out test came, how any other conjecture in the same project fared, or
how this result will be used downstream. Do not speculate about any of
that. Evaluate this conjecture entirely on its own terms, using only the
evidence given above.

## Output format

Respond with STRICT JSON ONLY. No prose before or after the JSON, no
markdown code fences, no commentary outside the JSON structure itself. The
JSON must have exactly this shape:

{
  "rivals": [
    {
      "mechanism": "string",
      "why_it_explains_the_same_evidence": "string",
      "named_confounds": ["string", "..."],
      "discriminating_test": {
        "description": "string",
        "computable_on_held_data": true,
        "what_result_favors_rival": "string"
      }
    }
  ],
  "no_viable_rival": false,
  "notes": "string"
}

Rules for the JSON:
- "rivals" is an array of zero to three objects, in the shape shown above.
  Zero entries is valid and expected whenever no genuine rival exists.
- If "rivals" is empty, set "no_viable_rival" to true. If "rivals" is
  non-empty, set "no_viable_rival" to false.
- "named_confounds" is an array of short strings (one per confound named).
- "computable_on_held_data" is a boolean: true if the discriminating test
  could be run using data of the same kind described above (the same
  catalogue/source, re-queried or extended), false if it would require a
  fundamentally different dataset not described above.
- "notes" is a string for anything else worth recording; use an empty
  string if there is nothing to add. Do not use it to restate the rivals.
- Do not include any keys other than the ones shown above, at any level.
- Do not wrap the JSON in a code fence (no ``` characters). Output the JSON
  object itself and nothing else — your entire response must be valid JSON,
  parseable with no pre- or post-processing.

################################################################
END OF r2-edh-b1-07
Save Grok's reply, verbatim, as plain text, to:
  docs/generated/popper_rivals/r2-edh-b1/grok/r2-edh-b1-07.md
################################################################

################################################################
CONJECTURE r2-edh-b1-08  --  PASTE THIS ENTIRE BLOCK AS ONE GROK MESSAGE
################################################################

You are acting as an independent scientific referee. You will be shown ONE
empirical conjecture from a data-driven research project that catalogues
historical manuscripts and inscriptions, together with: the mechanism its
authors proposed to explain it, a summary of the training evidence that
supported it while it was being developed, and the outcome of a single
pre-registered test the authors later ran against held-out data (data that
was not consulted while the conjecture was written).

Your task is not to defend or attack the conjecture's authors. Your task is
to ask a narrower question: is there a DIFFERENT causal mechanism, distinct
from the one proposed, that would produce the same training-evidence pattern
AND the same held-out outcome equally well or better? A mechanism that is
merely "also consistent with the data" is not enough — it should be a
genuine rival explanation, one a careful skeptic would actually worry about.

## The conjecture

**Claim (as registered):** Material diversity (distinct recorded material values, e.g. marble, limestone, bronze) is at least 5 in every eligible province.

**Proposed mechanism:** The same vocabulary-breadth reasoning as the genre-diversity floor above, applied to the recorded material field (118 distinct material values exist across the whole corpus).

**Scope:** Source: the Epigraphic Database Heidelberg (EDH), a catalogue of Roman-period inscriptions on stone/metal/etc. (physical objects, catalogued separately from a manuscript census). Training: the 33 provinces in the alphabetically first half of EDH's own province-code order (42,009 inscriptions). Holdout: the 33 provinces in the alphabetically second half, minus 'Provincia incerta' (EDH's own catch-all for uncertain findspots, not a real geographic unit, excluded from all arithmetic) -- 32 real provinces, 39,457 inscriptions -- landed in one complete fetch after the claim was fixed. EDH's own content has been fixed since 2021 (the cataloguing project's funding ended), so this holdout tests whether a pattern generalizes across an arbitrary alphabetical split of already-catalogued, unchanging material, not whether it predicts new discoveries. Minimum support: at least 50 material-typed rows in a province.

**Training-side evidence:** Observed training-side minimum: 7 distinct materials (in an Anatolian province, n=67 typed rows).

**Holdout test and outcome:** Of 18 eligible holdout provinces, the closest approach to the floor was 8 distinct materials.

**Status:** Survived every eligible holdout province.

## What we need from you

For this conjecture, propose UP TO THREE rival mechanisms. For each rival,
give:

1. **mechanism** — the rival causal mechanism, stated plainly, in one or two
   sentences. It must be genuinely distinct from the stated mechanism above,
   not a rewording of it.
2. **why_it_explains_the_same_evidence** — why this rival would produce the
   same training pattern AND the same held-out outcome described above, at
   least as well as the stated mechanism does.
3. **named_confounds** — the specific confound(s) this rival mechanism turns
   on (for example: cataloguing or data-entry practice, survival or
   preservation bias, a unit-of-count or denominator effect, a harvest or
   digitization artifact, an administrative or geographic classification
   artifact, selection effects in what got catalogued at all). Name the
   actual confound(s) at work here — do not just gesture at "bias" in the
   abstract.
4. **discriminating_test** — a concrete, specific, and in-principle
   computable procedure that would produce a DIFFERENT predicted result
   under your rival mechanism than under the stated mechanism. State: what
   you would measure, and what result would come out differently. Say
   whether it could run against data of the same kind already described
   above (the same catalogue or an extension of it), or would need a
   different dataset.

**Quality over count.** If you cannot construct a genuine rival that is at
least as plausible as the stated mechanism, do not invent a weak one just to
fill the list. Declaring no viable rival is a MORE useful and MORE valued
answer than a strained one — a rival that is obviously worse than the
original actively harms this exercise, because it wastes the reader's time
checking a mechanism no one should have believed in the first place. Zero,
one, two, or three rivals are all acceptable outputs. Most conjectures will
not have three good rivals; some will have none.

## What you are not given, and should not guess at

You are not told how close to its pass/fail boundary this conjecture's
held-out test came, how any other conjecture in the same project fared, or
how this result will be used downstream. Do not speculate about any of
that. Evaluate this conjecture entirely on its own terms, using only the
evidence given above.

## Output format

Respond with STRICT JSON ONLY. No prose before or after the JSON, no
markdown code fences, no commentary outside the JSON structure itself. The
JSON must have exactly this shape:

{
  "rivals": [
    {
      "mechanism": "string",
      "why_it_explains_the_same_evidence": "string",
      "named_confounds": ["string", "..."],
      "discriminating_test": {
        "description": "string",
        "computable_on_held_data": true,
        "what_result_favors_rival": "string"
      }
    }
  ],
  "no_viable_rival": false,
  "notes": "string"
}

Rules for the JSON:
- "rivals" is an array of zero to three objects, in the shape shown above.
  Zero entries is valid and expected whenever no genuine rival exists.
- If "rivals" is empty, set "no_viable_rival" to true. If "rivals" is
  non-empty, set "no_viable_rival" to false.
- "named_confounds" is an array of short strings (one per confound named).
- "computable_on_held_data" is a boolean: true if the discriminating test
  could be run using data of the same kind described above (the same
  catalogue/source, re-queried or extended), false if it would require a
  fundamentally different dataset not described above.
- "notes" is a string for anything else worth recording; use an empty
  string if there is nothing to add. Do not use it to restate the rivals.
- Do not include any keys other than the ones shown above, at any level.
- Do not wrap the JSON in a code fence (no ``` characters). Output the JSON
  object itself and nothing else — your entire response must be valid JSON,
  parseable with no pre- or post-processing.

################################################################
END OF r2-edh-b1-08
Save Grok's reply, verbatim, as plain text, to:
  docs/generated/popper_rivals/r2-edh-b1/grok/r2-edh-b1-08.md
################################################################

################################################################
CONJECTURE r2-edh-b1-09  --  PASTE THIS ENTIRE BLOCK AS ONE GROK MESSAGE
################################################################

You are acting as an independent scientific referee. You will be shown ONE
empirical conjecture from a data-driven research project that catalogues
historical manuscripts and inscriptions, together with: the mechanism its
authors proposed to explain it, a summary of the training evidence that
supported it while it was being developed, and the outcome of a single
pre-registered test the authors later ran against held-out data (data that
was not consulted while the conjecture was written).

Your task is not to defend or attack the conjecture's authors. Your task is
to ask a narrower question: is there a DIFFERENT causal mechanism, distinct
from the one proposed, that would produce the same training-evidence pattern
AND the same held-out outcome equally well or better? A mechanism that is
merely "also consistent with the data" is not enough — it should be a
genuine rival explanation, one a careful skeptic would actually worry about.

## The conjecture

**Claim (as registered):** Epitaph or votive inscription is the single largest genre category (the plurality genre) in at least 85% of eligible large provinces.

**Proposed mechanism:** Funerary and votive epigraphy are proposed to have dominated everyday inscriptional practice broadly across the Roman world -- a Mediterranean-wide cultural pattern, not confined to either the Latin-speaking West or the Greek-speaking East specifically. The city of Rome itself is excluded from this claim's scope (its unusually cosmopolitan, state/honorific-heavy epigraphy is a documented confound for genre-mix claims specifically).

**Scope:** Source: the Epigraphic Database Heidelberg (EDH), a catalogue of Roman-period inscriptions on stone/metal/etc. (physical objects, catalogued separately from a manuscript census). Training: the 33 provinces in the alphabetically first half of EDH's own province-code order (42,009 inscriptions). Holdout: the 33 provinces in the alphabetically second half, minus 'Provincia incerta' (EDH's own catch-all for uncertain findspots, not a real geographic unit, excluded from all arithmetic) -- 32 real provinces, 39,457 inscriptions -- landed in one complete fetch after the claim was fixed. EDH's own content has been fixed since 2021 (the cataloguing project's funding ended), so this holdout tests whether a pattern generalizes across an arbitrary alphabetical split of already-catalogued, unchanging material, not whether it predicts new discoveries. Minimum support: at least 150 genre-typed rows in a province; Rome excluded from scope.

**Training-side evidence:** 11 of 12 checked training provinces (91.7%) had epitaph or votive inscription as the plurality genre. The one disclosed exception's TRUE plurality genre (after correcting an earlier mischaracterization) is 'owner/artist inscription' (74 records, 25.4%, a clear win over the second-place genre), not the near-tie originally described.

**Holdout test and outcome:** Of 19 eligible holdout provinces, ALL 19 (100%) had epitaph as the plurality genre -- no exceptions at all in the holdout half.

**Status:** Survived every eligible holdout province.

## What we need from you

For this conjecture, propose UP TO THREE rival mechanisms. For each rival,
give:

1. **mechanism** — the rival causal mechanism, stated plainly, in one or two
   sentences. It must be genuinely distinct from the stated mechanism above,
   not a rewording of it.
2. **why_it_explains_the_same_evidence** — why this rival would produce the
   same training pattern AND the same held-out outcome described above, at
   least as well as the stated mechanism does.
3. **named_confounds** — the specific confound(s) this rival mechanism turns
   on (for example: cataloguing or data-entry practice, survival or
   preservation bias, a unit-of-count or denominator effect, a harvest or
   digitization artifact, an administrative or geographic classification
   artifact, selection effects in what got catalogued at all). Name the
   actual confound(s) at work here — do not just gesture at "bias" in the
   abstract.
4. **discriminating_test** — a concrete, specific, and in-principle
   computable procedure that would produce a DIFFERENT predicted result
   under your rival mechanism than under the stated mechanism. State: what
   you would measure, and what result would come out differently. Say
   whether it could run against data of the same kind already described
   above (the same catalogue or an extension of it), or would need a
   different dataset.

**Quality over count.** If you cannot construct a genuine rival that is at
least as plausible as the stated mechanism, do not invent a weak one just to
fill the list. Declaring no viable rival is a MORE useful and MORE valued
answer than a strained one — a rival that is obviously worse than the
original actively harms this exercise, because it wastes the reader's time
checking a mechanism no one should have believed in the first place. Zero,
one, two, or three rivals are all acceptable outputs. Most conjectures will
not have three good rivals; some will have none.

## What you are not given, and should not guess at

You are not told how close to its pass/fail boundary this conjecture's
held-out test came, how any other conjecture in the same project fared, or
how this result will be used downstream. Do not speculate about any of
that. Evaluate this conjecture entirely on its own terms, using only the
evidence given above.

## Output format

Respond with STRICT JSON ONLY. No prose before or after the JSON, no
markdown code fences, no commentary outside the JSON structure itself. The
JSON must have exactly this shape:

{
  "rivals": [
    {
      "mechanism": "string",
      "why_it_explains_the_same_evidence": "string",
      "named_confounds": ["string", "..."],
      "discriminating_test": {
        "description": "string",
        "computable_on_held_data": true,
        "what_result_favors_rival": "string"
      }
    }
  ],
  "no_viable_rival": false,
  "notes": "string"
}

Rules for the JSON:
- "rivals" is an array of zero to three objects, in the shape shown above.
  Zero entries is valid and expected whenever no genuine rival exists.
- If "rivals" is empty, set "no_viable_rival" to true. If "rivals" is
  non-empty, set "no_viable_rival" to false.
- "named_confounds" is an array of short strings (one per confound named).
- "computable_on_held_data" is a boolean: true if the discriminating test
  could be run using data of the same kind described above (the same
  catalogue/source, re-queried or extended), false if it would require a
  fundamentally different dataset not described above.
- "notes" is a string for anything else worth recording; use an empty
  string if there is nothing to add. Do not use it to restate the rivals.
- Do not include any keys other than the ones shown above, at any level.
- Do not wrap the JSON in a code fence (no ``` characters). Output the JSON
  object itself and nothing else — your entire response must be valid JSON,
  parseable with no pre- or post-processing.

################################################################
END OF r2-edh-b1-09
Save Grok's reply, verbatim, as plain text, to:
  docs/generated/popper_rivals/r2-edh-b1/grok/r2-edh-b1-09.md
################################################################

################################################################
CONJECTURE r2-edh-b1-11  --  PASTE THIS ENTIRE BLOCK AS ONE GROK MESSAGE
################################################################

You are acting as an independent scientific referee. You will be shown ONE
empirical conjecture from a data-driven research project that catalogues
historical manuscripts and inscriptions, together with: the mechanism its
authors proposed to explain it, a summary of the training evidence that
supported it while it was being developed, and the outcome of a single
pre-registered test the authors later ran against held-out data (data that
was not consulted while the conjecture was written).

Your task is not to defend or attack the conjecture's authors. Your task is
to ask a narrower question: is there a DIFFERENT causal mechanism, distinct
from the one proposed, that would produce the same training-evidence pattern
AND the same held-out outcome equally well or better? A mechanism that is
merely "also consistent with the data" is not enough — it should be a
genuine rival explanation, one a careful skeptic would actually worry about.

## The conjecture

**Claim (as registered):** At least one of two named upper-Danube/eastern-Alpine frontier provinces shows stamped portable objects (instrumentum domesticum -- pipes, bricks, tiles) at 10% or more of its monument-typed rows, matching a northwestern-limes military-frontier pattern.

**Proposed mechanism:** Legionary brick/pipe/tile production and stamping is proposed to concentrate this specific artefact type along militarized frontier zones, predicted to extend from the Rhine frontier eastward to the upper-Danube frontier.

**Scope:** Source: the Epigraphic Database Heidelberg (EDH), a catalogue of Roman-period inscriptions on stone/metal/etc. (physical objects, catalogued separately from a manuscript census). Training: the 33 provinces in the alphabetically first half of EDH's own province-code order (42,009 inscriptions). Holdout: the 33 provinces in the alphabetically second half, minus 'Provincia incerta' (EDH's own catch-all for uncertain findspots, not a real geographic unit, excluded from all arithmetic) -- 32 real provinces, 39,457 inscriptions -- landed in one complete fetch after the claim was fixed. EDH's own content has been fixed since 2021 (the cataloguing project's funding ended), so this holdout tests whether a pattern generalizes across an arbitrary alphabetical split of already-catalogued, unchanging material, not whether it predicts new discoveries. Named holdout targets: two specific upper-Danube/Alpine provinces. Minimum support: at least 100 monument-typed rows in a province.

**Training-side evidence:** Three Rhine-frontier training provinces show 17.6-20.5% (after correcting a denominator error in an earlier description). The same correction also found some non-frontier training provinces comparably high (around 19%), which weakens, without overturning, the clean frontier-vs-rest narrative originally described.

**Holdout test and outcome:** One of the two named provinces landed at 17.28% (the other landed lower, at 6.52%, but the claim only requires at least one of the two to clear the floor).

**Status:** Survived (at least one named target cleared 10%).

## What we need from you

For this conjecture, propose UP TO THREE rival mechanisms. For each rival,
give:

1. **mechanism** — the rival causal mechanism, stated plainly, in one or two
   sentences. It must be genuinely distinct from the stated mechanism above,
   not a rewording of it.
2. **why_it_explains_the_same_evidence** — why this rival would produce the
   same training pattern AND the same held-out outcome described above, at
   least as well as the stated mechanism does.
3. **named_confounds** — the specific confound(s) this rival mechanism turns
   on (for example: cataloguing or data-entry practice, survival or
   preservation bias, a unit-of-count or denominator effect, a harvest or
   digitization artifact, an administrative or geographic classification
   artifact, selection effects in what got catalogued at all). Name the
   actual confound(s) at work here — do not just gesture at "bias" in the
   abstract.
4. **discriminating_test** — a concrete, specific, and in-principle
   computable procedure that would produce a DIFFERENT predicted result
   under your rival mechanism than under the stated mechanism. State: what
   you would measure, and what result would come out differently. Say
   whether it could run against data of the same kind already described
   above (the same catalogue or an extension of it), or would need a
   different dataset.

**Quality over count.** If you cannot construct a genuine rival that is at
least as plausible as the stated mechanism, do not invent a weak one just to
fill the list. Declaring no viable rival is a MORE useful and MORE valued
answer than a strained one — a rival that is obviously worse than the
original actively harms this exercise, because it wastes the reader's time
checking a mechanism no one should have believed in the first place. Zero,
one, two, or three rivals are all acceptable outputs. Most conjectures will
not have three good rivals; some will have none.

## What you are not given, and should not guess at

You are not told how close to its pass/fail boundary this conjecture's
held-out test came, how any other conjecture in the same project fared, or
how this result will be used downstream. Do not speculate about any of
that. Evaluate this conjecture entirely on its own terms, using only the
evidence given above.

## Output format

Respond with STRICT JSON ONLY. No prose before or after the JSON, no
markdown code fences, no commentary outside the JSON structure itself. The
JSON must have exactly this shape:

{
  "rivals": [
    {
      "mechanism": "string",
      "why_it_explains_the_same_evidence": "string",
      "named_confounds": ["string", "..."],
      "discriminating_test": {
        "description": "string",
        "computable_on_held_data": true,
        "what_result_favors_rival": "string"
      }
    }
  ],
  "no_viable_rival": false,
  "notes": "string"
}

Rules for the JSON:
- "rivals" is an array of zero to three objects, in the shape shown above.
  Zero entries is valid and expected whenever no genuine rival exists.
- If "rivals" is empty, set "no_viable_rival" to true. If "rivals" is
  non-empty, set "no_viable_rival" to false.
- "named_confounds" is an array of short strings (one per confound named).
- "computable_on_held_data" is a boolean: true if the discriminating test
  could be run using data of the same kind described above (the same
  catalogue/source, re-queried or extended), false if it would require a
  fundamentally different dataset not described above.
- "notes" is a string for anything else worth recording; use an empty
  string if there is nothing to add. Do not use it to restate the rivals.
- Do not include any keys other than the ones shown above, at any level.
- Do not wrap the JSON in a code fence (no ``` characters). Output the JSON
  object itself and nothing else — your entire response must be valid JSON,
  parseable with no pre- or post-processing.

################################################################
END OF r2-edh-b1-11
Save Grok's reply, verbatim, as plain text, to:
  docs/generated/popper_rivals/r2-edh-b1/grok/r2-edh-b1-11.md
################################################################

################################################################
CONJECTURE r2-edh-b1-12  --  PASTE THIS ENTIRE BLOCK AS ONE GROK MESSAGE
################################################################

You are acting as an independent scientific referee. You will be shown ONE
empirical conjecture from a data-driven research project that catalogues
historical manuscripts and inscriptions, together with: the mechanism its
authors proposed to explain it, a summary of the training evidence that
supported it while it was being developed, and the outcome of a single
pre-registered test the authors later ran against held-out data (data that
was not consulted while the conjecture was written).

Your task is not to defend or attack the conjecture's authors. Your task is
to ask a narrower question: is there a DIFFERENT causal mechanism, distinct
from the one proposed, that would produce the same training-evidence pattern
AND the same held-out outcome equally well or better? A mechanism that is
merely "also consistent with the data" is not enough — it should be a
genuine rival explanation, one a careful skeptic would actually worry about.

## The conjecture

**Claim (as registered):** At least one of the same two named upper-Danube/eastern-Alpine provinces carries 3 or more military-diploma finds (a raw count, not a share).

**Proposed mechanism:** Veteran discharge-diploma deposition (inscribed bronze certificates) is proposed to concentrate on actively-garrisoned frontier provinces, by the same frontier-military logic as the instrumentum-domesticum claim above.

**Scope:** Source: the Epigraphic Database Heidelberg (EDH), a catalogue of Roman-period inscriptions on stone/metal/etc. (physical objects, catalogued separately from a manuscript census). Training: the 33 provinces in the alphabetically first half of EDH's own province-code order (42,009 inscriptions). Holdout: the 33 provinces in the alphabetically second half, minus 'Provincia incerta' (EDH's own catch-all for uncertain findspots, not a real geographic unit, excluded from all arithmetic) -- 32 real provinces, 39,457 inscriptions -- landed in one complete fetch after the claim was fixed. EDH's own content has been fixed since 2021 (the cataloguing project's funding ended), so this holdout tests whether a pattern generalizes across an arbitrary alphabetical split of already-catalogued, unchanging material, not whether it predicts new discoveries. Named holdout targets: the same two provinces as above. No minimum-support floor (a presence/count claim; zero is itself a meaningful, decision-relevant value).

**Training-side evidence:** Frontier training provinces clearing 3 or more: 44, 17, 13, and 3 diploma finds respectively; every other training province shows 0 or 1 (one unplaced/context-only region shows 3).

**Holdout test and outcome:** One of the two named provinces landed with 45 diploma finds; the other landed with 16.

**Status:** Survived (both named targets cleared the floor of 3).

## What we need from you

For this conjecture, propose UP TO THREE rival mechanisms. For each rival,
give:

1. **mechanism** — the rival causal mechanism, stated plainly, in one or two
   sentences. It must be genuinely distinct from the stated mechanism above,
   not a rewording of it.
2. **why_it_explains_the_same_evidence** — why this rival would produce the
   same training pattern AND the same held-out outcome described above, at
   least as well as the stated mechanism does.
3. **named_confounds** — the specific confound(s) this rival mechanism turns
   on (for example: cataloguing or data-entry practice, survival or
   preservation bias, a unit-of-count or denominator effect, a harvest or
   digitization artifact, an administrative or geographic classification
   artifact, selection effects in what got catalogued at all). Name the
   actual confound(s) at work here — do not just gesture at "bias" in the
   abstract.
4. **discriminating_test** — a concrete, specific, and in-principle
   computable procedure that would produce a DIFFERENT predicted result
   under your rival mechanism than under the stated mechanism. State: what
   you would measure, and what result would come out differently. Say
   whether it could run against data of the same kind already described
   above (the same catalogue or an extension of it), or would need a
   different dataset.

**Quality over count.** If you cannot construct a genuine rival that is at
least as plausible as the stated mechanism, do not invent a weak one just to
fill the list. Declaring no viable rival is a MORE useful and MORE valued
answer than a strained one — a rival that is obviously worse than the
original actively harms this exercise, because it wastes the reader's time
checking a mechanism no one should have believed in the first place. Zero,
one, two, or three rivals are all acceptable outputs. Most conjectures will
not have three good rivals; some will have none.

## What you are not given, and should not guess at

You are not told how close to its pass/fail boundary this conjecture's
held-out test came, how any other conjecture in the same project fared, or
how this result will be used downstream. Do not speculate about any of
that. Evaluate this conjecture entirely on its own terms, using only the
evidence given above.

## Output format

Respond with STRICT JSON ONLY. No prose before or after the JSON, no
markdown code fences, no commentary outside the JSON structure itself. The
JSON must have exactly this shape:

{
  "rivals": [
    {
      "mechanism": "string",
      "why_it_explains_the_same_evidence": "string",
      "named_confounds": ["string", "..."],
      "discriminating_test": {
        "description": "string",
        "computable_on_held_data": true,
        "what_result_favors_rival": "string"
      }
    }
  ],
  "no_viable_rival": false,
  "notes": "string"
}

Rules for the JSON:
- "rivals" is an array of zero to three objects, in the shape shown above.
  Zero entries is valid and expected whenever no genuine rival exists.
- If "rivals" is empty, set "no_viable_rival" to true. If "rivals" is
  non-empty, set "no_viable_rival" to false.
- "named_confounds" is an array of short strings (one per confound named).
- "computable_on_held_data" is a boolean: true if the discriminating test
  could be run using data of the same kind described above (the same
  catalogue/source, re-queried or extended), false if it would require a
  fundamentally different dataset not described above.
- "notes" is a string for anything else worth recording; use an empty
  string if there is nothing to add. Do not use it to restate the rivals.
- Do not include any keys other than the ones shown above, at any level.
- Do not wrap the JSON in a code fence (no ``` characters). Output the JSON
  object itself and nothing else — your entire response must be valid JSON,
  parseable with no pre- or post-processing.

################################################################
END OF r2-edh-b1-12
Save Grok's reply, verbatim, as plain text, to:
  docs/generated/popper_rivals/r2-edh-b1/grok/r2-edh-b1-12.md
################################################################
