Repository navigation
[PR] merge: tier-3 rework train — #4443/#4445/#4430 reworked on master + #4510 content (CI red was a stale-dist mtime guard) - #4558
Merged
Conversation
Path-style lane requests (POST /v1/messages straight at the proxy's default upstream — no /bili/ tunnel, no absolute form, non-MITM) get no route back from resolveUpstream(), so every providers.* lookup keyed on route?.rewrittenUrl silently missed: models.<model>.output/.context never applied, the #3438 mid-band collapse rescue stayed unarmed, and its "NO known output ceiling" warn could not be silenced by declaring the model's max output. Reconstruct the full destination URL (opts.upstream + path) once in handle() as providerDestUrl and use it as the single config-matching basis for the output ceiling, context limit, operator window tuning, registry host, passthrough routing, and per-provider compress settings. Also stop firing the #3438 mid-band warn when a ceiling IS known (value >= ceiling is a healthy state, not a missing-ceiling gap). Tests: unit coverage of the warn gate in side-request-isolation.test.ts plus end-to-end proof in the new issue4501-pathstyle-config.test.ts that a path-style dsh-lane request now resolves the declared output ceiling and restores a collapsed mid-band budget up to it. (cherry picked from commit d31a7b2)
…use providerDestUrl for the #3211 pairing Review follow-up on #4501/#4510 — two small cleanups on top of the new single config-matching basis; no behavior change beyond the log text: - the #661 route-passthrough log line still masked route?.rewrittenUrl, which is undefined for path-style matches. Now that #4501 makes those matches possible, the line would have logged an empty URL; it names providerDestUrl instead. - the #3211 calibration pairing recomputed the full destination URL inline; it now reuses providerDestUrl (identical value) so the single matching basis stays single. (cherry picked from commit 1f5d023)
…rates it - tools/gen-config-docs.mjs: drop the stale backtick ban on desc_en/desc_zh (these fields render only into markdown tables, where backticks are valid inline code); add optional default_zh for zh-localized default cells. - website/config-reference/rollout.yaml: add the rollout.features.pluginLaneServerHistory entry reproducing #4491's committed row byte-exactly (EN+ZH). - Regenerate CONFIGURATION.md / CONFIGURATION.zh-CN.md (param-ref row + env-map row). (cherry picked from commit 6a5b94b)
…e in baseline readers (#4383) A tiny but real usage-grade sample under the session id (title-gen/probe sidecar) settled into lastUsageGradeTokens blinded every input-baseline reader: the kernel growth reference is a low-water mark (#1595) and rode down to it, so growth stayed 0 and auto-folding was disabled for hours until an unrelated external event. statusInputBaseline and effectiveTokenCount now share one guard: an anchor below 25% of the billing-caliber local estimate of the current outbound send AND superseded by a later main send (contextTokensSource="estimate") is demoted to that estimate — #1595's promised local-estimate fallback. The freshness gate keeps fresh small samples authoritative (#1820 B); anchors above the estimate keep their #1839 precedence; sessions without an estimate or freshness stamp behave byte-identically. (cherry picked from commit 8e0d8a9)
…ame rejections, make the caps settable External summaries longer than compress.maxSummaryLength were rejected whole after paying full latency, with the only trace a bare invalid_summary outcome - and the cap was accepted nowhere: the panel PUT dropped it, file edits never reached the resolved config, and the model-tool compress path never told its summarizer the number its validator enforces (the preflight path has since #1775). - state the exact enforced cap in the compress-path summarizer prompt (shared clause helper, byte-identical to preflight's) - name the rejection reason on each invalid_summary attempt and log it (describeExternalSummaryFailure moved next to its data type; re-exported from preflight for historical importers) - accept maxSummaryLength/minSummaryLength through parse/merge/apply so panel PUT and file edits reach the resolved kernel config - document both fields (CONFIGURATION en+zh, website seeds) Closes #3635 (cherry picked from commit 006b683)
…e floor disabled Review follow-up on this branch: summaryLengthBudgetClause documented "<= 0 / Infinity" as omitted but only gated on budget < minChars, so cap 0 + floor 0 rendered "AT MOST 0 characters" to the summarizer. Zero means unbounded; omit it. Pinned by a new assertion in tests/issue3635-summary-length-cap.test.ts. (cherry picked from commit aa84e55)
…c passes Review follow-up: the summary-length rows were hand-written into CONFIGURATION.md / CONFIGURATION.zh-CN.md with wording that drifted from website/config-reference/compress.yaml, and website/docs/index.html + website/main.js were never regenerated, so the docs-sync artifact-drift gate went red. Regenerated all four derived files from the seed (node tools/gen-config-docs.mjs generate); the seed wording is the canonical one. (cherry picked from commit d475598)
(cherry picked from commit 8b41d06)
Contributor
📦 Built Package ArtifactBranch: Latest build — install this exact versionnpm install -g billion-context@0.0.5509-pr.4558.3000d51This exact version is immutable and reproducible. The rolling Recent builds (commit → version)
Download artifact
tar xzf billion-context-pr4558.tgz
npm install -g packageInstall instructions are refreshed on each push. |
This was referenced Oct 24, 2026
Contributor
📦 Merged Build PublishedThis merge to master was published as npm install -g billion-context@0.0.821-master.ba5ab0b # this exact build
npm install -g billion-context@master # always the newest merged build
|
This was referenced Oct 24, 2026
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.
这是什么
第三列车:4 个延后票在当前 master 上重做(非 cherry-pick 直挑,冲突按语义织合并带测试修正)。合并方式请选 Merge commit。
车上清单
seen/nudges预期更新,14/14targetKey字段并集,3 commits验证
kernel/碰撞后续