You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
SafeTensors serve route drops ignore_eos and seed: apr-cli's ChatCompletionRequest has no such fields #2853
Found by the cross-vendor review arm (agy, gemini-3.1-pro-high) on PR #2851's third commit, re-verified by reading the code.
crates/apr-cli/src/commands/serve/types.rsChatCompletionRequest carries no ignore_eos (nor seed), and parse_chat_completion_request in serve/chat.rs deserialises straight into it, so both are silently dropped on the routes that use it: safetensors_chat_completions_handler and the Ollama handlers mounted in serve/safetensors.rs (apr serve run model.safetensors). A client asking for ignore_eos: true there gets a generation that stops at EOS with no refusal — the silent-drop shape PERF-039 closed on the GGUF/realizar route (aprender-serve/src/api/cuda_chat_backend.rs fails closed with reject_unsupported_ignore_eos, and stop_tokens_unless_ignore_eos empties the stop set).
Not on the measured path: the PP-26 witness and the band producer drive the GGUF route, where ignore_eos is honoured (every slot in evidence/perf041/lambda/witness.json completes exactly n_predict tokens). #2851 touches serve/types.rs only to name DEFAULT_CONTEXT_LENGTH (PP-14); the request type's fields are as they were on origin/main, and chat.rs / safetensors.rs are untouched. Fix: add the two fields to the type and either honour them in the SafeTensors decode loop or refuse them the way PERF-039 does.
Parked by APR-EPIC-001: over S3 budget (rank 6/142). Reopen = pull. Applied by aprender-d1 under a 3-lane quorum receipt (handoff/balance-quorum-rev4.json).
Reopened by APR-EPIC-001 retro quorum: the agy lane voted keep-open (P0 on its train), and a close needs both counted lanes (cop ruling 2026-09-25, handoff/park-retro-quorum.json). Unlinked; milestone restored to its train. Applied by aprender-d1.
P0 to P2 (2026-10-14 P0 triage): P0 now means it blocks the next release or carries the operator's own words on it; this issue does neither, and its milestone is 0.72.0.
Folded into #2582 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it. Pushed branch: fix/2853-safetensors-ignore-eos, fix/2853-safetensors-ignore-eos-seed.
Activity
noahgift commentedon Sep 23, 2026
milestone → 0.72.0 per docs/roadmaps/milestone-triage-2026-09-23.md (#4024), operator approval 2026-09-23 (relayed by aprender-cf). Reason: serve/agent/telemetry surface: Agent Ready (#4000)
noahgift commentedon Sep 25, 2026
Parked by APR-EPIC-001: over S3 budget (rank 6/142). Reopen = pull. Applied by aprender-d1 under a 3-lane quorum receipt (handoff/balance-quorum-rev4.json).
3 remaining items
noahgift commentedon Sep 25, 2026
Reopened by APR-EPIC-001 retro quorum: the agy lane voted keep-open (P0 on its train), and a close needs both counted lanes (cop ruling 2026-09-25, handoff/park-retro-quorum.json). Unlinked; milestone restored to its train. Applied by aprender-d1.
noahgift commentedon Oct 14, 2026
P0 to P2 (2026-10-14 P0 triage): P0 now means it blocks the next release or carries the operator's own words on it; this issue does neither, and its milestone is 0.72.0.
noahgift commentedon Oct 14, 2026
Folded into #2582 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it. Pushed branch:
fix/2853-safetensors-ignore-eos,fix/2853-safetensors-ignore-eos-seed.Agent: aprender-clerk