Conversation
Pure, hermetic ranking over venues.json metadata (slug, name, full name, description, type) plus the submission portal resolved from the module layout via submission_base -- exact slug beats prefix beats description, ties break by slug. Non-deprecated venues only, matching list_venues. No network, no LLM, no user state.
pick-venue [QUERY...] prints a ranked shortlist (slug, name, type, description) with --type/--portal filters, -n/--limit/--all display control, and --json for agents chaining into subfile/submit. Empty input is a usage error (exit 2); input matching nothing fails (exit 1) so scripts never proceed on a guess. The hint line always names the top-ranked hit for the next step.
Ranking and scoring run against hand-built Venue objects (independent of venues.json drift); portal resolution, the shipped preprint/openreview sets, and pick-venue end to end (human output, --json, --limit/--all, usage and no-match exit codes) via cli.main.
Contributor
Author
|
Ready for review, @josephrich98 — following up on the plan posted in #3. Three separately reviewable commits: the ranking library, the CLI wiring, and the tests. All checks are green (build + 3.10/3.11/3.12) and the branch is conflict-free against |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the venue-selection half of #3 as
paperpush pick-venue: rank the supported venues against a loose query (abbreviation, keyword, type, portal) so neither a human nor an agent has to know a slug up front. Hermetic, dependency-free, fully tested — no network, no API key, no user state.Three commits, separately reviewable:
paperpush/venue_select.py— the ranking library,paperpush pick-venuewiring incli.py,tests/test_pick_venue.py— 25 tests.Usage
--type/--portalare repeatable filters;-n/--limit(default 5) or--allcontrol display;--jsonemits[{slug, name, venue_type, portal, score}]for chaining intosubfile/submit.paperpush subfile …), even under--limit 0.aaai_2027) stay out of selection, matchinglist_venues.submission_base, so family venues report the portal their login actually runs on (AAAS siblings →science).Verification
black . -l 99999 --check: clean.autofill --engine apialready covers drafting into a.sub; proposing that as a follow-up, not this PR.Closes the venue-selection part of #3.