Issue #476: Bug: identity month_map, unused fetch_profile prefix, and dead stream option

interviewstreet/hiring-agent · commit e0ece80 · investigation verified · 2026-10-11 · investigation cost $0.04

No open PR fixes this and merges clean

0 fix it but don't merge clean, 2 fix it partly. See the board below.

8/8
citations verified in code
192 → 11
open PRs shortlisted by cited lines
0 fix
0 merge clean · 2 partly
$0.04
investigation cost

How it breaks

The path is the model's reasoning. Each box is a citation checked against the code.

1transform.py:449 ✓
month_map maps each month to itself
2transform.py:467 ✓
month_map.get lookup returns input unchanged
3transform.py:486 ✓
fetch_profile declares unused prefix
4transform.py:531 ✓
Callers pass discarded prefix
5models.py:453 ✓
chat() reads only three option keys
6models.py:452 ✓
stream already hardcoded False in body
7evaluator.py:66 ✓
Callers still set stream False in options
where it shows

What's wrong

All three claims are confirmed as dead code, with no functional bug. (1) month_map maps each month abbreviation to itself, so month_map.get(x, x) always returns x. (2) fetch_profile declares a prefix parameter that its body never uses, and every caller passes a string that is discarded.
Show full explanation(3) "stream": False is put in the options dicts in evaluator.py and pdf.py, but OpenAICompatibleProvider.chat only copies temperature, top_p and reasoning_effort from options, and it hardcodes stream False in the request body. I didn't open pdf.py beyond the grep hit at line 93. Caveat: evaluator.py nests options inside a larger dict, and I didn't check whether another provider (for example an Ollama path at models.py:31) reads options["stream"].
Model confidence: high.

How to reproduce

  1. Read transform.py:449-462 and confirm every key equals its value.
  2. In a Python shell, import the date-parsing function that contains month_map and run it with 'Jan-Mar 2021' and 'Jan 2021'. The output is the same with or without the map lookup.
  3. Read transform.py:486-494 and confirm prefix is never referenced in the body. Then check the callers at transform.py:531-539.
  4. Read models.py:451-455 and confirm only temperature, top_p and reasoning_effort are read from options, and models.py:452 hardcodes stream False.
  5. Remove 'stream': False from the options dicts in evaluator.py:66 and pdf.py:93 and confirm the request body is unchanged.

Evidence

Each citation was checked against the code at e0ece80.

transform.py4 citations
line 449
verified in code
month_map = {

Start of the identity dictionary. Lines 450-461 map each month abbreviation to itself, e.g. "Jan": "Jan".

line 467
verified in code
start_date = f"{month_map.get(start_month, start_month)} {year}"

The lookup returns start_month unchanged, so it has no effect.

line 486
verified in code
def fetch_profile(profiles, network_names, prefix):

prefix is declared, but the body at lines 487-494 never uses it.

line 531
verified in code
github_profile = fetch_profile(basics.profiles, ["github"], "github")

A caller passes a prefix that is discarded.

models.py2 citations
line 453
verified in code
for parameter in ("temperature", "top_p", "reasoning_effort"):

Only these three options are forwarded, so options['stream'] is ignored.

line 452
verified in code
body: Dict[str, Any] = {"model": model, "messages": messages, "stream": False}

stream is already hardcoded to False in the request body.

evaluator.py1 citation
line 66
verified in code
"stream": False,

Dead option, never read by the provider.

pdf.py1 citation
line 93
verified in code
"stream": False,

Same dead option.

Pull requests

Verdicts are judged from the diff, not run. Merge status is a real git check against e0ece80.

192open PRs
11change a cited line or mention the issue
2change the cause
0fix and merge clean
#412 and #477 all change the cause. Once one is merged, the others duplicate it.
Merges clean
Conflicts or unknown
Fixes
—
—
Partly
—
Why each verdict

It deletes the identity month_map by rewriting parse_date_range, but it leaves the unused prefix parameter in fetch_profile and the stream:False options untouched.

Shortlisted because: changes transform.py:449, changes transform.py:467, changes transform.py:486

It removes month_map and the stream:False entries in evaluator.py and pdf.py, and drops the prefix parameter. But the diff leaves the dev_profile call as `fetch_profile(..., ["dev community", "dev"], "dev")` with the third argument, so that caller would raise a TypeError.

Shortlisted because: mentions the issue, changes evaluator.py:66, changes pdf.py:93, changes transform.py:449, changes transform.py:467, changes transform.py:486, changes transform.py:531
9 PRs that don't fix itShow

It only adds a text_content message in pdf.py and leaves the dead stream option, month_map and prefix in place.

Shortlisted because: changes pdf.py:93

Its pdf.py change adds a text_content message, and the work.jinja change is a prompt edit. It does not remove the dead stream option, month_map or prefix.

Shortlisted because: changes pdf.py:93

It restructures pdf.py into section snippets with retries and keeps `"stream": False` in the options. It does not touch month_map or prefix.

Shortlisted because: changes pdf.py:93

It adds JD scoring and moves `"stream": False` into a new helper, and leaves fetch_profile's prefix and month_map alone.

Shortlisted because: changes evaluator.py:66

It adds Codeforces and token-usage features, and it even adds new fetch_profile calls that pass the unused prefix. It leaves the dead stream option and month_map in place.

Shortlisted because: changes transform.py:531

It adds a Claude Agent provider and an evaluator retry loop that still sets `"stream": False`. It does not touch month_map or prefix.

Shortlisted because: changes evaluator.py:66

It reworks the temperature/top_p options in evaluator.py and pdf.py but keeps `"stream": False`. It does not touch month_map or fetch_profile's prefix.

Shortlisted because: changes evaluator.py:66, changes pdf.py:93

It changes the options dicts to `**model_params` but keeps `"stream": False`, and leaves month_map and the prefix parameter alone.

Shortlisted because: changes evaluator.py:66, changes pdf.py:93

It changes the options dicts to `**model_params` but keeps `"stream": False`, and does not touch month_map or prefix.

Shortlisted because: changes evaluator.py:66, changes pdf.py:93

What this packet does not prove

  • Citations are checked against the code. The explanation that links them, the order of the chain, and any claim about outside systems (APIs, libraries) are the model's reasoning and are not checked.
  • PR verdicts are judged from the diff, not run. No PR was applied or tested.
  • PRs were shortlisted because they change a cited line or mention the issue. A fix in another file, or a PR whose line numbers have drifted, is missed, so this is not proof that no other PR fixes it.