Journal-Match (rt-journal-match)
The missing front-door question — which venue? — across the whole repository. Full
methodology + the stable venue index live in
shared-resources/journal-selection/journal-match.md
and venue-index.tsv.
Worked end to end, with real output:
worked-example.md.
When to trigger
- The author has a result/draft and no settled target.
- A paper was rejected and needs the best next venue.
- A "not a fit" signal means the scope/venue needs rethinking.
What it does
Profile the paper — discipline + subfield, method/design, contribution type,
setting/data/region, ambition (be honest). Write it down once, in the shape of
paper-profile.yml;
every later skill reads the same file instead of re-deriving it.
Shortlist — run the matcher rather than reading the index by eye:
python3 tools/match_venues.py \
--title "..." --abstract "..." \
--discipline economics/labor --lane empirical --top 15
--discipline is a prior, not a filter: the discipline and its adjacents
(discipline-adjacency.tsv)
are boosted, but a strong match elsewhere still surfaces, because Step 1 is a
judgement that is sometimes wrong. Add --only-discipline when you are certain,
--exclude <venue_id> for venues that have already rejected the paper,
--json to pipe it. --list-disciplines prints the vocabulary.
Every row names where to read more — source_map for a depth pack,
profile_path for a breadth profile — and the terms it matched on, so a
nonsense hit is visible as a nonsense hit.
Read the warnings. The matcher flags weak evidence when its leading
candidates each rest on one or two shared words — a ranking built on that is
close to noise, because words the language reuses ("sensor", "generation",
"network") will out-score a genuine subject match. It flags a coverage gap
when nothing in the discipline you named scored at all: the prior can only
re-rank venues that matched, never conjure one. Either warning means do not
pass the list on as a shortlist — add the abstract, re-check the discipline
label, or report that the subject area is thin in the index and route to
rt-venue-integrity.
The matcher is measured: R@10 = 41.5% from a bare title, on a held-out half of a
1,738-paper gold set (eval/RESULTS.md).
That is a floor for one thin query, not the capability — it is why step 3 exists.
The per-discipline table there is worth reading before trusting a result: coverage is
uneven, and life sciences and natural science are visibly the thinnest.
Score each candidate on Fit × acceptance-odds × turnaround × cost/policy ×
audience, reading the live facts from each candidate's resources/official-source-map.md.
Never quote a fee, acceptance rate, turnaround or page limit from memory.
Return reach / match / safe (≈2–3 each) with one-line rationales + the live facts,
then a submit order and resubmission ladder — seed the ladder from
ladder.tsv (candidate
adjacency, not a ranking) and apply your own fit/odds judgement to it.
Cost the ladder with rt-ladder-ev whenever the
author is under a clock or is choosing between two orders. The sequence, not the
venue, is what costs a year.
Hard rules
- Live facts from the source-map, never from memory (fees, acceptance, turnaround, page
limits, data policy).
- Fit judgment defers to the venue's
*-topic-selection / *-contribution-framing.
- Be honest about odds; don't inflate a paper into a reach it can't clear.
- Coverage honesty: if a plausible venue is outside the index and its bundle, say so —
and hand to
rt-venue-integrity before the author
submits somewhere unverified.
- The matcher retrieves; you recommend. Never pass its ranking through as a
shortlist: open the packs first.
Output format
【Paper profile】discipline / method / contribution / setting / ambition
【Reach】V — why; key live facts (desk-reject, turnaround, fee)
【Match】V — …
【Safe】V — …
【Submit order & ladder】V_top → if reject → V_next (what to change) → …
【Open questions】facts to re-verify in the source-map before submitting
Anti-patterns
- Recommending only reaches (wastes the timeline) or only safes (undersells the paper).
- Ignoring
lane — sending a qualitative/theory paper to an empirical-only venue.
- Treating the
tier column as a precise ranking (it is an indicative bucket).
- Reporting the matcher's top-10 as the answer. It is a reading list.
1---2name: rt-journal-match3description: Use when an author asks "which journal should I send this to?" or needs the best resubmission target after a reject. Profiles the paper, shortlists candidates from an index of 743 venues with tools/match_venues.py, and ranks them into reach / match / safe with a resubmission ladder. Reads live venue facts from each pack's source-map; defers fit judgment to the venue's own topic-selection skill.4---56# Journal-Match (rt-journal-match)78The missing front-door question — *which venue?* — across the whole repository. Full9methodology + the stable venue index live in10[`shared-resources/journal-selection/journal-match.md`](../../../shared-resources/journal-selection/journal-match.md)11and [`venue-index.tsv`](../../../shared-resources/journal-selection/venue-index.tsv).1213Worked end to end, with real output:14[`worked-example.md`](../../../shared-resources/journal-selection/worked-example.md).1516## When to trigger1718- The author has a result/draft and no settled target.19- A paper was rejected and needs the best next venue.20- A "not a fit" signal means the scope/venue needs rethinking.2122## What it does23241. **Profile the paper** — discipline + subfield, method/design, contribution type,25 setting/data/region, ambition (be honest). Write it down once, in the shape of26 [`paper-profile.yml`](../../../shared-resources/journal-selection/paper-profile.md);27 every later skill reads the same file instead of re-deriving it.28292. **Shortlist** — run the matcher rather than reading the index by eye:3031 ```bash32 python3 tools/match_venues.py \33 --title "..." --abstract "..." \34 --discipline economics/labor --lane empirical --top 1535 ```3637 `--discipline` is a **prior, not a filter**: the discipline and its adjacents38 ([`discipline-adjacency.tsv`](../../../shared-resources/journal-selection/discipline-adjacency.tsv))39 are boosted, but a strong match elsewhere still surfaces, because Step 1 is a40 judgement that is sometimes wrong. Add `--only-discipline` when you are certain,41 `--exclude <venue_id>` for venues that have already rejected the paper,42 `--json` to pipe it. `--list-disciplines` prints the vocabulary.4344 Every row names where to read more — `source_map` for a depth pack,45 `profile_path` for a breadth profile — and the terms it matched on, so a46 nonsense hit is visible as a nonsense hit.4748 **Read the warnings.** The matcher flags *weak evidence* when its leading49 candidates each rest on one or two shared words — a ranking built on that is50 close to noise, because words the language reuses ("sensor", "generation",51 "network") will out-score a genuine subject match. It flags a *coverage gap*52 when nothing in the discipline you named scored at all: the prior can only53 re-rank venues that matched, never conjure one. Either warning means **do not54 pass the list on as a shortlist** — add the abstract, re-check the discipline55 label, or report that the subject area is thin in the index and route to56 [`rt-venue-integrity`](../rt-venue-integrity/SKILL.md).5758 The matcher is measured: **R@10 = 41.5%** from a bare title, on a held-out half of a59 1,738-paper gold set ([`eval/RESULTS.md`](../../../shared-resources/journal-selection/eval/RESULTS.md)).60 That is a floor for one thin query, not the capability — it is why step 3 exists.61 The per-discipline table there is worth reading before trusting a result: coverage is62 uneven, and life sciences and natural science are visibly the thinnest.63643. **Score** each candidate on **Fit × acceptance-odds × turnaround × cost/policy ×65 audience**, reading the live facts from each candidate's `resources/official-source-map.md`.66 Never quote a fee, acceptance rate, turnaround or page limit from memory.67684. **Return reach / match / safe** (≈2–3 each) with one-line rationales + the live facts,69 then a **submit order and resubmission ladder** — seed the ladder from70 [`ladder.tsv`](../../../shared-resources/journal-selection/ladder.tsv) (candidate71 adjacency, not a ranking) and apply your own fit/odds judgement to it.72735. **Cost the ladder** with [`rt-ladder-ev`](../rt-ladder-ev/SKILL.md) whenever the74 author is under a clock or is choosing between two orders. The sequence, not the75 venue, is what costs a year.7677## Hard rules7879- **Live facts from the source-map, never from memory** (fees, acceptance, turnaround, page80 limits, data policy).81- **Fit judgment defers** to the venue's `*-topic-selection` / `*-contribution-framing`.82- **Be honest about odds**; don't inflate a paper into a reach it can't clear.83- **Coverage honesty**: if a plausible venue is outside the index and its bundle, say so —84 and hand to [`rt-venue-integrity`](../rt-venue-integrity/SKILL.md) before the author85 submits somewhere unverified.86- **The matcher retrieves; you recommend.** Never pass its ranking through as a87 shortlist: open the packs first.8889## Output format9091```92【Paper profile】discipline / method / contribution / setting / ambition93【Reach】V — why; key live facts (desk-reject, turnaround, fee)94【Match】V — …95【Safe】V — …96【Submit order & ladder】V_top → if reject → V_next (what to change) → …97【Open questions】facts to re-verify in the source-map before submitting98```99100## Anti-patterns101102- Recommending only reaches (wastes the timeline) or only safes (undersells the paper).103- Ignoring `lane` — sending a qualitative/theory paper to an empirical-only venue.104- Treating the `tier` column as a precise ranking (it is an indicative bucket).105- Reporting the matcher's top-10 as the answer. It is a reading list.