Skip to content

release v0.1.162 - #1510

Merged
ranxianglei merged 1 commit into
masterfrom
2026-09-27_release-v0.1.162
Sep 27, 2026
Merged

ranxianglei merged 1 commit into
masterfrom
2026-09-27_release-v0.1.162

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Auto-fallback from the one-click release workflow: direct push to master was blocked by branch protection. Merging this PR publishes via the standard release.yml flow.

Changes since v0.1.161

@github-actions

Copy link
Copy Markdown
Contributor Author

📦 Built Package Artifact

Branch: 2026-09-27_release-v0.1.162 (c27f000)

Option A — Install this exact build (recommended)

npm install -g billion-context@0.0.1443-pr.1510.c57e7a7-a2

This exact version is immutable and reproducible. The rolling pr tag tracks the newest test build across all PRs.

Option B — Download artifact

  1. Download the artifact from the Actions run
  2. Extract the tarball and install:
tar xzf billion-context-pr1510.tgz
npm install -g package

Install instructions are refreshed on each push.

@ranxianglei

Copy link
Copy Markdown
Owner

🤖 Powered by ework · qwen3.8-27b

[bot] 🏷 收到。这是 one-click release 的自动 fallback PR(直推 master 被 branch protection 拦下)。初步核对:

  • PR head c27f0006bd 已拉取核对:相对 master 仅 改 package.json + package-lock.json 版本行(0.1.161 → 0.1.162),release commit 干净、符合 one-version-one-commit 规范。
  • CI 全绿(13/13):test ×4 矩阵(ubuntu/windows × node 22/24)、build-artifact、version-guard、e2e(real codex)、hermetic registry e2e(local verdaccio)、各 client lane 零 token 回归全部通过。
  • 正在按发版审计规范对 v0.1.161 以来的全部变更(5 个内容提交)做区间回归审查,结论稍后跟帖。

@ranxianglei

Copy link
Copy Markdown
Owner

🤖 Powered by ework · qwen3.8-27b

[bot] 🏷 Review complete. I pulled the branch (2026-09-27_release-v0.1.162, head c27f0006bd), cross-checked the diff against CI, and ran the version-range regression audit over v0.1.161..PR head (all 5 commits) rather than just the two version lines.

PR state

  • Open, not draft, mergeable, base = current master (a1a9dba0), linear history (merge-base == base).
  • Diff vs master is exactly the release commit: package.json + package-lock.json version lines 0.1.161 → 0.1.162 only — one-version-one-commit discipline holds.
  • CI 13/13 green on head: test ubuntu/windows × node 22/24, build-artifact, version-guard, real-codex e2e, hermetic registry e2e (local verdaccio self-update chain), dsh/opencode/pi lane zero-token checks, codex CODEX_HOME overlay.
  • npm latest = 0.1.161 = master's version → no drift; 0.1.162 is the correct next patch. acp-kernel pin unchanged in the window (0.0.95) — no cross-repo dependency change.

Window audit — existing behaviors walked, item by item

Change Existing behavior touched Verdict
ea531307 fix #1494 compress tool call parsing/receipts Intentional, disclosed
c741120f fix #1492 nudge sizing, preflight trigger, failure-shrink arming Intentional, disclosed
ee125241 clamp gate (#1503 follow-up) #453 output clamp baseline, count_tokens preview, forged-compact handoff, absorb view Intentional, disclosed
11c3a161 test pin none (test-only) No behavior change
42202e0e license docs none (docs/legal only) Policy change, no code

Behavior changes (old → new, all intentional):

  1. compress failed may be caused by params #1494 — previously hard-failing compress param shapes (single-object content, bare top-level array, string-encoded JSON args) now normalize and fold (old: whole call failed with kind=content-not-array/not-object; new: normalized to canonical form). Canonical inputs pass through byte-identical (verified in the diff). On partial parse-drops the receipt now carries an explicit [N of the submitted entr(ies) were REJECTED…] note in both the success receipt and the FAILED message, plus a server-side compress PARTIAL log (old: silent under-reporting — the bug fixed).
  2. emergency shrink / preflight 的本地估算用错了视图:超长会话(客户端历史 127 万,压缩后 outbound 仅 ~16 万)在上游失败无 usage report 时,bili 按原始历史估算 #1492 — estimate-grade lastInputTokens baselines (failure-shrink arming) no longer floor nudge sizing (effectiveTokenCount), the preflight trigger, or the preflight loop floor while the payload is measurable; usage-grade baselines unchanged (old: any positive baseline floored all three consumers; new: only usage-sourced floors when measurable). Arming itself now measures with defaultCountTokens instead of estimateTokensFast (CJK-aware lower bound; old chars/4 understated CJK up to ~4×). I verified against the pinned acp-kernel 0.0.95 that the two counters are numerically identical on ASCII input, so the "ASCII byte-identical" claim holds — the delta is CJK-only and confined to the failure-arm path.
  3. ee12524 — the plugin mode: no hard backstop when the agent ignores the compress nudge — context grows past the window and upstream 400s #453 clamp baseline (estimateInputTokens) now floors only on usage-grade source, closing the fail-open hole where an estimate-grade poison masked the payload estimate through max() (old: any positive lastInputTokens floored the clamp baseline; new: usage-grade only). count_tokens preview / forged-compact handoff / absorb view feed tokenCount=0 ("unknown") for non-usage baselines so the kernel counts messages itself — steady-state (usage reported) behavior is byte-identical.
  4. License — MIT plus one additional attribution term for user-facing products (commercial or OSS: attribute billion-context/acp-kernel with repo links in homepage/docs/About; server-side/embedded use satisfied by shipped docs). Docs-only; worth carrying into the release notes as a policy change downstream users should see.

Regression checks performed: all 10 lastInputTokens write sites at the PR head are consistently source-tagged (usage vs estimate vs preserved-on-decrement); all six gate sites consume the tag uniformly; persist.ts round-trips the source across restarts and legacy sessions without a source safely fall back to per-turn estimates; zero remaining estimateTokensFast usages in src/; both compression modes reasoned (normalize/applyRanges changes sit on the proxy-side compress path; plugin mode suppresses proxy injection and is unaffected); preflight gates alter only poison scenarios, steady-state identical in both modes.

Conclusion

本版本引入回归:无。 All five window changes are intentional and individually disclosed in their commits; no silent behavior drift found. Release commit is clean, CI fully green including the real-client e2e, base is current master.

可合并 (mergeable) — ready for a human merge; merging publishes v0.1.162 via release.yml.

中文摘要:对 v0.1.161→v0.1.162 全部 5 个变更做了版本区间回归审计(#1494 参数容错+显式拒收回执、#1492/钳位门控把过期估算基线挡在 nudge/preflight/钳位之外、许可条款、测试钉桩),逐项确认均为有意且已披露的变更,未发现无意回归,CI 全绿,可以合并。

@ranxianglei

Copy link
Copy Markdown
Owner

🤖 Powered by ework · qwen3.8-27b

[bot] 🏷 Closing status — no further work needed on my side:

Next step is yours: a human merges the PR and release.yml publishes v0.1.162 to npm automatically. No agent action remains.

@ranxianglei
ranxianglei merged commit 11f4f30 into master Sep 27, 2026
13 checks passed
@ranxianglei
ranxianglei deleted the 2026-09-27_release-v0.1.162 branch October 15, 2026 05:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant