Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
355 commits
Select commit Hold shift + click to select a range
eb23b75
chore(tests): name #5765 regression tests after the GitHub issue number
Nov 6, 2026
4989ef2
fix(acp-block-ops): normalize retire receipt block ids via parseBlock…
Nov 6, 2026
83cacf5
chore(web): color the new block-op tool chips like acp_cache
Nov 6, 2026
9889f83
Merge remote-tracking branch 'origin/master' into ci-fix-5774-b
Nov 6, 2026
7d7f8fa
fix: block-op receipts report only what actually changed (#5765 review)
Nov 6, 2026
2089361
fix: export ledger range fallback avoids arg-spread crash on huge blo…
Nov 6, 2026
3de75ff
test: pin D-lane retired-block anchor suppression (#5765 review)
Nov 6, 2026
63081ba
Merge remote-tracking branch 'origin/master' into fix/private-log-ret…
Maziar123 Nov 6, 2026
4954a12
Merge remote-tracking branch 'origin/master' into fix/factual-request…
Maziar123 Nov 6, 2026
64b1bac
docs: re-apply local-forge accounting wording lost in the master-merg…
Nov 6, 2026
ad4a97a
fix: keep only CA certificates in combined-ca.pem (#5802)
Nov 6, 2026
45027bb
kernel: #5608-B/C — time-attr high-water mark + honest-NULL minting arm
ranxianglei Nov 6, 2026
2071e9f
#5608-D: defer citation-space alignment from cold load to the next po…
ranxianglei Nov 6, 2026
f207183
merge: sync master (be611a856) into PR branch (#5608/#5609)
Nov 6, 2026
d72c1f2
fix(ca): let hasKeyCertSign see critical-marked keyUsage (#5802)
Nov 6, 2026
3edf28b
chore: regenerate package-lock.json version fields after master sync …
ranxianglei Nov 6, 2026
11b2f36
kernel: keep #5608-B/C new state fields key-free on legacy states
ranxianglei Nov 6, 2026
6e41fb9
#5608-B: honest-NULL arms only where identity is PROVEN (fix #554 sta…
ranxianglei Nov 6, 2026
964ba20
merge: sync master c3dfbe6b2 (#5814/#5799/#5798/#5783/#5803/#5796 batch)
Nov 6, 2026
6596443
test(#554): pin the honest-NULL poison field in the side-request isol…
Nov 6, 2026
c09a0f8
fix: derive the kstate field list from a fully-populated probe (#5609…
Nov 6, 2026
27df6c6
test: align the #4192 field-list mechanism pin with the probe-derived…
Nov 6, 2026
4eeb781
merge: sync master d640d0d06 into #5609 branch — kernel version 0.0.1…
Nov 7, 2026
a5bb6a1
kernel: judge the summary floor at batch level for multi-range compre…
Nov 7, 2026
f26f072
feat: panel quick-config row for compress.minSummaryLength + batch-to…
Nov 7, 2026
4e5e8c6
Merge origin/master into 2026-11-08_batch-summary-floor (#5903)
Nov 7, 2026
2829344
fix(docs): sync config-reference seed with batch-total minSummaryLeng…
Nov 7, 2026
2889ab7
fix: route DSH Codex Responses WebSocket through the native proxy (#5…
Nov 6, 2026
3b9337b
test: pin that installDshIntercepts arms both egress legs (#5838)
Nov 6, 2026
46dae85
docs: correct the stale #4829 comment in the dsh takeover gate
Nov 6, 2026
431b7c9
docs: document third-party Codex transport boundary in CLIENTS (#5838)
Nov 8, 2026
405bab8
fix: prepare DSH WS frames and guard cached identity (#5838)
gongfpp Nov 7, 2026
41fe066
fix: capture background integrity worker stderr so the SQLite experim…
Nov 8, 2026
eafa8cd
fix(ci): register tests/integrity-worker-stderr.test.ts in LIVE_FILES…
Nov 8, 2026
56c7b7d
fix(ci): tripwire error points at scripts/live-files.mjs where LIVE_F…
Nov 8, 2026
f3df915
docs: record integrity worker stderr capture fix in CHANGELOG [Unrele…
Nov 8, 2026
4523a65
fix: match custom-gateway 'vendor/prefix:model' ids in the context-li…
Nov 7, 2026
1fa5019
fix: fall back to the 1M window floor in dsh gate oversize arms when …
Nov 7, 2026
1260c5e
fix: name the expected duplicate-instance outcome in the terminal EAD…
Nov 8, 2026
b30d6df
fix: slow-session warn fires once per session with size picture and c…
Nov 8, 2026
7b09b2f
fix: name the no-guard fetch postures in bili.log; document the direc…
Nov 8, 2026
3554fe3
storage: jsonWriter=off also stops the CCR content-store sidecar (#2960)
Nov 9, 2026
b2096dd
fix(#5943): requireNudge judges a nudge credit window, not this-round…
Nov 8, 2026
ea2b895
ci(#5947): sync requireNudge seed wording with credit-window change; …
Nov 8, 2026
4461fe3
test(ci): register tests/issue5955-wedged-same-lane-takeover.test.ts …
Nov 9, 2026
f81a4a3
docs(clients): add Command Code BYOK entry point to verified-entry-po…
Nov 9, 2026
47fa17f
Merge remote-tracking branch 'origin/ci-fixes' into 2026-11-09_comman…
Nov 9, 2026
7d7e264
docs(clients): link the zh-CN Command Code note to its section heading
Nov 9, 2026
09bda56
fix: opencode 2.x native install writes the shim dir instead of the b…
Nov 9, 2026
311a34f
Merge remote-tracking branch 'origin/ci-fixes' into 2026-11-09_openco…
Nov 9, 2026
6393e0b
fix: arm the opencode V1 lane's direct-send window guard (#5032)
adlternative Oct 28, 2026
d2ad8bf
Merge remote-tracking branch 'origin/master' into fix/factual-request…
Maziar123 Nov 9, 2026
2ab47e3
fix: make the upstream circuit's half-open probe slot a lease
juunghyun Nov 9, 2026
b9bf6b2
test(launcher): cover the #5955 wedged same-lane takeover ladder
TOSKA1226 Nov 8, 2026
474bc69
fix: drop signature-less thinking blocks for upstreams that reject th…
Nov 9, 2026
b996f00
fix(preflight): judge fit on the post-reconstruction measurement when…
Nov 8, 2026
0372399
test(#5974): pin case-3 failure kind, drop tautological assertion
Nov 8, 2026
90881ee
fix: route DSH Codex Responses WebSocket through the native proxy (#5…
Nov 6, 2026
9ad3db7
Merge origin/master into 2026-11-08_nudge-credit-window
Nov 9, 2026
f0614cb
test: pin that installDshIntercepts arms both egress legs (#5838)
Nov 6, 2026
836e147
docs: correct the stale #4829 comment in the dsh takeover gate
Nov 6, 2026
1a449b6
docs: document third-party Codex transport boundary in docs/clients (…
Nov 8, 2026
287c48c
docs: register src/server/thinking-posture.ts in the architecture fil…
Nov 9, 2026
c61071f
docs: document the pre-fix Codex transport:sse fallback for the dsh l…
Nov 9, 2026
12e56d0
Merge remote-tracking branch 'origin/master' into ci-5944-fix
Nov 9, 2026
6f20f3a
fix: keep UnsignedThinkingStrip module-internal (unused-exports lane,…
Nov 9, 2026
3307bf4
fix: abort the HTTP fallback egress when the Codex WS client disconnects
juunghyun Nov 9, 2026
699b467
merge: restore PR #5840 (DSH WS frame preparation) onto the rebased b…
Nov 9, 2026
1c069c6
feat: warn when dsh's iot-thinking plugin is installed
El1mir Nov 9, 2026
65fcba1
fix: warn about iot-thinking only while it is enabled
El1mir Nov 9, 2026
691ab4a
fix(#5974): judge the mid-walk futility deficit on the corrected scal…
Nov 9, 2026
2a67299
fix: protect workspace-instruction revisions, not just the baseline
IcyDate Nov 9, 2026
549bc54
fix(web): show built-in notice banners (missing .show class)
El1mir Nov 9, 2026
bca640c
test(launcher): point the one-observation-loss comment at where the c…
Nov 9, 2026
8d202c3
test(web): stop i18n ref scanner treating filenames like package.json…
Nov 9, 2026
0411a37
fix: add agents-md revision raw markers and match shapes case-sensiti…
Nov 9, 2026
5a91fd9
Merge origin/master into #5715 fix branch (sync to current master)
Nov 9, 2026
3298cd8
fix(fold-reconcile): run the surviving-majority test on active covera…
Nov 9, 2026
4d4cde1
Merge remote-tracking branch 'origin/master' into 2026-10-25_fix-4566…
Maziar123 Nov 9, 2026
3740f16
Merge remote-tracking branch 'origin/master' into 2026-10-25_system-p…
Maziar123 Nov 9, 2026
1db639f
Merge remote-tracking branch 'origin/master' into fix/private-log-ret…
Maziar123 Nov 9, 2026
63a4060
Merge pull request #6015 from El1mir/2026-11-09_iot-incompat-notice-u…
ranxianglei Nov 9, 2026
bef87a7
test: rerun ci — #5631 restart-survival dsh-lane startup flake (no co…
Nov 9, 2026
dd40138
fix(#6018): gate the per-slot MARKER_LINE regex behind a literal chec…
Nov 9, 2026
c1a4409
Merge remote-tracking branch 'origin/master' into fix/invariant-prove…
Maziar123 Nov 9, 2026
3856974
docs(architecture): map the Responses separator module
Maziar123 Nov 9, 2026
a45548f
fix(dsh): classify the image-offload placeholder as a one-shot carrie…
sx4im Nov 9, 2026
60a557e
fix: classify the dsh image-offload placeholder so it cannot steal th…
Nov 9, 2026
6b4757a
refactor: unify relay recovery re-sends through one egress chokepoint…
Nov 9, 2026
c705d13
Merge pull request #6006 from juunghyun/2026-11-09_circuit-probe-lease
ranxianglei Nov 9, 2026
4be21b0
Merge pull request #6009 from ranxianglei/2026-11-09_unsigned-thinkin…
ranxianglei Nov 9, 2026
cee765f
fix: name the unattributed-chain class in the zero-progress fits-forw…
Nov 9, 2026
0e4dbe2
Merge remote-tracking branch 'origin/master' into pr6027-sync
Nov 9, 2026
7ad4c12
fix: stale-epoch config overlay loses the named-provider recipe table…
Nov 7, 2026
5298d11
fix(hermes): discover top-level base_url so stock configs join the MI…
Nov 9, 2026
2382149
fix(hermes): launcher route discovery reads the top-level base_url to…
Nov 9, 2026
820c219
fix(hermes): quoted endpoint values in providers maps no longer die s…
Nov 9, 2026
5ddd71e
docs: changelog entry for hermes top-level base_url discovery (#6022)
Nov 9, 2026
c855d6f
test(#6021): pin the words-before-marker splice shape for the offload…
Nov 9, 2026
39679ea
test(#6021): add end-to-end anchor-geometry pin for the offload place…
Nov 9, 2026
9e3d8e1
fix: hydrate web block-detail leaves by stable msg_id, not restamped …
Nov 9, 2026
dcbe8ff
fix: age idle open upstream circuits out of status reports (#6026)
Nov 9, 2026
d90c2b6
fix: prevent SimHash feature vote overflow
Afloat16 Nov 9, 2026
95f4d87
fix: reject corrupt positional affinity snapshot carriers
Afloat16 Nov 9, 2026
01e42ad
fix: account for deeply nested media without recursive stack growth
Afloat16 Nov 9, 2026
76189b1
fix: preserve busy liveness when health response bodies time out
Afloat16 Nov 9, 2026
1b43b99
fix: retain failed dump deletions in GC byte accounting
Afloat16 Nov 9, 2026
312e421
fix: cancel idle raw upstream reads on client disconnect
Afloat16 Nov 9, 2026
105b84d
fix: honor backpressure and completion when dumping SSE streams
Afloat16 Nov 9, 2026
435d2d3
fix: reject invalid attach timestamps before scheduling alarms
Afloat16 Nov 9, 2026
ffb5a3d
fix: evict watermark sessions incrementally at cache capacity
Afloat16 Nov 9, 2026
6b0cb61
fix: tolerate JSON null content during storage identity backfill
Afloat16 Nov 9, 2026
caf14bb
test: reject holes in positional snapshot carriers
Afloat16 Nov 9, 2026
0f502f4
Merge remote-tracking branch 'origin/master' into 2026-09-26_model-en…
Nov 9, 2026
c7ac7b5
docs(architecture): register the three #1295 modules in the source map
suyeku1 Nov 9, 2026
9724f1d
docs: relocate WIRE-CONTRACTS ledger under docs/ (#5920 layout)
Nov 9, 2026
4372b9e
Merge pull request #5913 from ranxianglei/2026-11-08_fix-stale-overla…
ranxianglei Nov 9, 2026
c5e8b8a
storage: jsonWriter=off also stops the CCR content-store sidecar (#2960)
Nov 9, 2026
2f89ca0
storage: CI gate — jsonWriter=off may only write whitelisted .json in…
Nov 9, 2026
c26c68a
test: refresh storage goldens for corrected SimHash votes
Afloat16 Nov 9, 2026
168e8ca
docs(pf-channel): state the LRU eviction policy at the capacity constant
Nov 9, 2026
8efaa4c
Merge pull request #5988 from ranxianglei/2026-11-09_jsonwriter-off-c…
ranxianglei Nov 9, 2026
f3f7fd0
Merge pull request #6030 from ranxianglei/2026-11-09_hermes-top-level…
ranxianglei Nov 9, 2026
1a928c3
fix: keep commandcode plugin-pipe filter state across deltas
Nov 9, 2026
c812a84
Merge pull request #6027 from ranxianglei/2026-11-09_dsh-image-offloa…
ranxianglei Nov 9, 2026
7d5f42e
Revert "[PR] fix: classify the dsh image-offload placeholder so it ca…
ranxianglei Nov 9, 2026
abd1e8a
Merge pull request #6060 from ranxianglei/revert-6027-2026-11-09_dsh-…
ranxianglei Nov 9, 2026
f3766fe
Merge pull request #6024 from sx4im/fix-6021-image-offload-anchor
ranxianglei Nov 9, 2026
48dc0d5
docs: adopt the #1444 branch's wire-contracts doc wording (relative l…
ranxianglei Nov 9, 2026
539c56c
Merge pull request #6028 from ranxianglei/2026-11-09_6003-unified-egr…
ranxianglei Nov 9, 2026
3476d15
Merge pull request #4681 from Maziar123/fix/round2-thinking-hold
ranxianglei Nov 9, 2026
8626aeb
Merge pull request #5910 from ranxianglei/2026-11-08_custom-provider-…
ranxianglei Nov 9, 2026
55db71d
docs: clarify noteColdLoad contract for missing/invalid savedAt (#6043)
Nov 9, 2026
697f45b
Merge pull request #5478 from Maziar123/fix/invariant-provenance
ranxianglei Nov 9, 2026
2cd9edb
Merge pull request #4878 from ranxianglei/2026-10-25_fix-4566-stale-p…
ranxianglei Nov 9, 2026
9bbc2a4
Merge pull request #5992 from ranxianglei/2026-11-09_jsonwriter-off-j…
ranxianglei Nov 9, 2026
fb7c607
Merge pull request #6031 from ranxianglei/2026-11-09_circuit-stale-re…
ranxianglei Nov 9, 2026
509292c
Merge pull request #5737 from ranxianglei/2026-11-05_fold-interior-lo…
ranxianglei Nov 9, 2026
8f090b8
Merge branch 'master' into fix/private-log-retention
ranxianglei Nov 9, 2026
e606c54
Merge pull request #5487 from Maziar123/fix/private-log-retention
ranxianglei Nov 9, 2026
4446301
Merge pull request #4715 from Mako-L/2026-10-25_system-position-heal
ranxianglei Nov 9, 2026
dede805
fix: reject corrupt tailFrags positional carriers in importSnapshot (…
Nov 9, 2026
95c75ff
refactor: name importSnapshot carrier lists after their content (#6037)
Nov 9, 2026
25405b4
storage: move six JSON sidecar states onto the unified kv_store (#5753)
ranxianglei Nov 5, 2026
136fcf2
storage: harden unified-kv callers against partial store stubs + revi…
ranxianglei Nov 5, 2026
345d7ed
fix(tests): stop server.ts from pulling restart.ts into the static im…
ranxianglei Nov 5, 2026
0f6ef50
fix(#5753): per-scheme legacy import for resign-pending hydration
Nov 5, 2026
0968d50
docs: list src/exit-deadline.ts in the reference map (#5753)
Nov 8, 2026
a279baf
kernel: reuse the client's leading message role when rebuilding the R…
gongfpp Nov 9, 2026
5ac2983
kernel: version 0.0.191
gongfpp Nov 9, 2026
6046dff
fix(responses): correlate proxy-owned ACP calls by stable identifiers…
Nov 9, 2026
ab67515
fix: traverse raw-body token estimates iteratively as well (#6038)
Nov 9, 2026
7291f0e
Merge origin/master into PR #6032 head — resolve commandcode-adapter …
Nov 9, 2026
d271b14
Merge upstream/master (4446301708) — resolve #5481 conflicts
Nov 9, 2026
951f2f6
fix: teach the #552 role-rejection ladder to recognize serde 422 reje…
Nov 9, 2026
a7d9f5d
fix: wire persist.debounceMs and new persist.maxDelayMs into the sess…
Nov 9, 2026
dc0e0dd
docs: document persist.maxDelayMs and a physical write-volume observa…
Nov 9, 2026
bb771c1
fix: cancel idle raw upstream reader in reasoning-guard verbatim pipe…
Nov 9, 2026
5f09d75
docs: point stale slow-session constant comment at its new home (#5481)
Nov 9, 2026
14a6d86
docs: regenerate config docs from seed for persist.maxDelayMs (docs-s…
Nov 9, 2026
abf9e4c
docs(config): correct persist.maxDelayMs writer attribution in config…
Nov 9, 2026
73f222e
feat: user-registerable egress request-body rewrite pipeline (#6003)
Nov 9, 2026
c7e0582
docs: list src/egress-transforms.ts in the architecture file map (#6003)
Nov 9, 2026
117cb7f
fix: satisfy unused-exports gate for egress-transforms (#6003)
Nov 9, 2026
59c6b9f
docs: pipeline module pages describe the egress-transforms request st…
Nov 9, 2026
ac622f4
refactor: drop unused absPath parameter from coerceModule (#6003)
Nov 9, 2026
082143e
Merge pull request #5757 from ranxianglei/2026-11-05_json-state-to-un…
ranxianglei Nov 10, 2026
16cd457
Merge pull request #6068 from ranxianglei/2026-11-10_6003-egress-tran…
ranxianglei Nov 10, 2026
3cae710
Merge pull request #6064 from gongfpp/fix/responses-head-role
ranxianglei Nov 10, 2026
a9ba419
Merge pull request #5481 from Maziar123/fix/factual-request-cost
ranxianglei Nov 10, 2026
f7c9f62
Merge pull request #6051 from Afloat16/2026-11-09_fix-idle-stream-dis…
ranxianglei Nov 10, 2026
a392b52
Merge pull request #6065 from ranxianglei/2026-11-10_responses-acp-in…
ranxianglei Nov 10, 2026
9895b69
Merge pull request #6047 from Afloat16/2026-11-09_fix-affinity-snapsh…
ranxianglei Nov 10, 2026
25b1671
Merge pull request #6048 from Afloat16/2026-11-09_fix-media-walk-depth
ranxianglei Nov 10, 2026
3d35880
Merge pull request #6055 from Afloat16/2026-11-09_fix-storage-null-id…
ranxianglei Nov 10, 2026
00f3cc4
Merge pull request #6053 from Afloat16/2026-11-09_fix-attach-invalid-…
ranxianglei Nov 10, 2026
8095a49
Merge pull request #6046 from Afloat16/2026-11-09_fix-simhash-vote-ov…
ranxianglei Nov 10, 2026
d17cd58
Merge pull request #6054 from Afloat16/2026-11-09_fix-watermark-cache…
ranxianglei Nov 10, 2026
b614776
Merge pull request #6052 from Afloat16/2026-11-09_fix-sse-dump-backpr…
ranxianglei Nov 10, 2026
60d4ad6
Merge pull request #6049 from Afloat16/2026-11-09_fix-health-body-tim…
ranxianglei Nov 10, 2026
c8dce58
Merge pull request #6050 from Afloat16/2026-11-09_fix-dump-gc-accounting
ranxianglei Nov 10, 2026
37c2d44
Merge pull request #6023 from ranxianglei/2026-11-09_raw-strip-gate-t…
ranxianglei Nov 10, 2026
f8b2591
Merge pull request #6033 from ranxianglei/2026-11-09_fix-web-detail-r…
ranxianglei Nov 10, 2026
049178e
Merge pull request #5990 from TOSKA1226/tests-wedged-takeover-ladder
ranxianglei Nov 10, 2026
9914dca
Merge origin/master into PR #6032 head — resolve handle.ts import spl…
Nov 10, 2026
ff5bdc1
Merge pull request #5942 from ranxianglei/2026-11-08_integrity-worker…
ranxianglei Nov 10, 2026
8def027
Merge pull request #6008 from juunghyun/2026-11-09_ws-fallback-client…
ranxianglei Nov 10, 2026
a52c300
Merge pull request #5839 from ranxianglei/2026-11-07_dsh-codex-ws-lane
ranxianglei Nov 10, 2026
1ca3d68
Merge pull request #5037 from adlternative/2026-10-28_opencode-direct…
ranxianglei Nov 10, 2026
658499a
Merge pull request #5945 from ranxianglei/2026-11-08_nudge-credit-window
ranxianglei Nov 10, 2026
513852a
Merge pull request #6002 from ranxianglei/2026-11-09_opencode-v2-shim…
ranxianglei Nov 10, 2026
541cf26
Merge pull request #5997 from ranxianglei/2026-11-09_command-code-byo…
ranxianglei Nov 10, 2026
b74bcc6
Merge remote-tracking branch 'origin/master' into pr6066-cifx
Nov 10, 2026
b326380
Merge remote-tracking branch 'origin/master' into pr6066-cifx
Nov 10, 2026
0813da6
fix: cite the upstream QLC field-report issue #6058, not internal mir…
Nov 10, 2026
1f049c6
fix(ci): align hermetic registry e2e entry assertion with #3976 2.x s…
Nov 10, 2026
932baf2
Merge pull request #6066 from ranxianglei/2026-11-10_persist-snapshot…
ranxianglei Nov 10, 2026
4dea18e
Merge pull request #6073 from ranxianglei/ci-fixes
ranxianglei Nov 10, 2026
34d6e86
fix: insert anthropic ephemeral tails before trailing client systems …
Nov 1, 2026
14b00ec
fix: keep post-hoc anthropic body mutations off trailing client syste…
Nov 2, 2026
a25e8e3
test: pin #5432 adapter fixture to legal-follow shape after the kerne…
Nov 2, 2026
7513559
refactor: consume the kernel's insertBeforeTrailingSystemRun, drop th…
Nov 10, 2026
8230460
fix(hermes-plugin): restore routed process env on unload and watchdog…
glfruit Nov 9, 2026
c5f742a
fix(hermes-plugin): unroute only in _shutdown — the retire branch nee…
Nov 9, 2026
edf9a74
test(hermes-native): regression — unload restores the host's own prox…
Nov 9, 2026
2c9de23
fix: fail open when a marker strip would blank the latest user turn (…
Nov 6, 2026
2b4e864
test(hermes-native): pin the never-routed direction of the unload env…
Nov 10, 2026
9f9c073
merge origin/master: resolve #5809 docs-move conflicts
Nov 10, 2026
c20d779
fix(agent): pass merged headers to pfRequestHeaders so watermark coun…
Nov 6, 2026
36a37f7
test(pf): cover the routed branch for the #5813 headersFor-conversati…
ci-check Nov 6, 2026
52d287a
Merge branch 'master' into 2026-11-08_batch-summary-floor
Nov 10, 2026
5cb5f60
Merge origin/master into PR #5679 head — resolve shadow.ts ingest-pat…
Nov 10, 2026
e322097
fix: restore render-tag example stripped from stripTextSlot header co…
Nov 10, 2026
201775a
merge: sync master 4dea18eabf into #5609 branch — kernel version 0.0.…
Nov 10, 2026
a61c55c
Merge pull request #5983 from ranxianglei/2026-11-09_preflight-view-r…
ranxianglei Nov 10, 2026
e1e33a9
Merge pull request #6032 from suyeku1/2026-11-09_merge-master-into-1444
ranxianglei Nov 10, 2026
1fbcdcf
Merge pull request #5816 from ranxianglei/2026-11-06_marker-user-slot…
ranxianglei Nov 10, 2026
892865d
Merge pull request #5815 from ranxianglei/2026-11-06_pf-headers-merge…
ranxianglei Nov 10, 2026
2a9ebe8
Merge pull request #5903 from ranxianglei/2026-11-08_batch-summary-floor
ranxianglei Nov 10, 2026
f32db94
Merge pull request #5679 from ranxianglei/2026-11-04_drift-field-diag
ranxianglei Nov 10, 2026
a51e11f
Merge pull request #5609 from ranxianglei/2026-11-03_resume-timestamp…
ranxianglei Nov 10, 2026
01725f8
Merge pull request #5809 from ranxianglei/2026-11-06_ca-bundle-ca-onl…
ranxianglei Nov 10, 2026
58a8796
Merge pull request #5991 from glfruit/fix/hermes-plugin-unroute-env-o…
ranxianglei Nov 10, 2026
552b62a
chore: merge master ahead of #5765 review fixes
Nov 10, 2026
84d4f6a
kernel: remove the compressAtFoldPoint fold-point relocation feature …
Nov 10, 2026
e2e05d1
remove compressAtFoldPoint from host, web, docs and site (#6132)
Nov 10, 2026
8a94375
test: update pinned ACP tool lists + prompt text for the #5765 tool s…
Nov 10, 2026
454a71b
test: regenerate storage-render goldens for the #5765 tool surface
Nov 10, 2026
ce9ba55
test: retune payload-calibrated e2e pins for the #5765 body growth
Nov 10, 2026
5211ee9
fix(review): drop two orphaned imports left by the fold-point removal…
Nov 10, 2026
24ff4e2
docs(architecture): register src/acp-block-ops.ts in the file map (#5…
Nov 10, 2026
13015fe
test(e2e): key the fake upstream's directive queue on the source ref …
Nov 11, 2026
33104b1
Merge pull request #6150 from ranxianglei/2026-11-10_remove-compress-…
ranxianglei Nov 11, 2026
bb8de86
web: eWork-grade handoff document rendering (markdown + syntax highli…
ranxianglei Nov 11, 2026
403c275
thirdparty-scan: flag dsh-live-compact as a known conflict (#5984)
ranxianglei Nov 11, 2026
8f531e4
web: handoff tab renders the Compressed block summaries appendix as i…
ranxianglei Nov 11, 2026
6b33fd2
feat: gate the #5765 block-lifecycle tools behind compress.blockOps (…
Nov 11, 2026
efa3df7
chore: merge master ahead of the #5765 blockOps gate (kernel 0.0.195)
Nov 11, 2026
3fbc2f2
fix(guard): drop two INTERNAL_ONLY exports left by the #5765 mcp-note…
Nov 11, 2026
1d5f911
fix(guards): lock-sync + lane-guard for the #5765 blockOps gate
Nov 11, 2026
e3220ad
Merge pull request #6166 from ranxianglei/2026-11-11_dsh-live-compact…
ranxianglei Nov 11, 2026
851e3bb
fix: settle and reset unified snapshot write batches
Afloat16 Nov 11, 2026
69d3368
web: persistent compression-tree tooltip + frozen-snapshot hydration …
ranxianglei Nov 11, 2026
dc041dd
Merge pull request #5774 from ranxianglei/wt-5767-ework-daemon
ranxianglei Nov 11, 2026
4b6522a
web: hover-widened tree topics, tick-proof rich nodes, restamp-proof …
ranxianglei Nov 11, 2026
ca1e6c8
Merge pull request #6186 from Afloat16/2026-11-10_snapshot-write-life…
ranxianglei Nov 11, 2026
31684f3
Merge pull request #5441 from ranxianglei/2026-11-01_anthropic-traili…
ranxianglei Nov 11, 2026
8c69ec2
web: MdRenderApi is module-internal (unused-exports gate)
ranxianglei Nov 11, 2026
c26c31a
Merge pull request #6260 from ranxianglei/handoff-render-ework
ranxianglei Nov 11, 2026
1911566
merge: sync PR #4922 with master (resolve conflicts in durable-messag…
Nov 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

32 changes: 25 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -201,13 +201,31 @@ skipping bili commands entirely:
without `dist/` and the bundle never loads) — same end state either way
(pnpm into the profile, bundled patch layer mounted by dsh itself); remove
through the same channel. See the dsh section below.
- **opencode:** add the bare npm name to your real config's plugin list —
`"plugin": ["billion-context"]` (npm form only; a git checkout has no
published entry). The package publishes `exports["./server"]` →
`dist/agent/opencode-native.js`, so opencode loads it through its own
Npm.add machinery and the plugin self-spawns exactly like the
bili-installed form. Do the two things the bili installer would have done
for you too: set `"compaction": { "auto": false }` in the same config
- **opencode:** easiest is `bili plugin install opencode` (it picks the
right entry form for your host version). Hand-install without bili (npm
form only; a git checkout has no published entry):
- **OpenCode 1.x** — add the bare npm name to your real config's plugin
list: `"plugin": ["billion-context"]`. The package publishes
`exports["./server"]` → `dist/agent/opencode-native.js`, so opencode
loads it through its own Npm.add machinery and the plugin self-spawns
exactly like the bili-installed form.
- **OpenCode 2.x** — the bare name does NOT work: 2.x resolves it through
the package `main` field (`dist/index.js`, the CLI — no plugin
definition), so the module load fails (#3976). Instead, put a one-line
re-export in a directory and point the config's `plugins` list at that
directory:

```js
// <shim dir>/index.js
export { default } from "<abs path to the global install>/dist/agent/opencode-native.js";
```

```json
{ "plugins": ["<shim dir>"] }
```

Either generation: do the two things the bili installer would have done
for you too — set `"compaction": { "auto": false }` in the same config
(otherwise OpenCode's native auto-compaction double-compresses) and keep a
manual backup of the file first.
- **claude:** this repository doubles as a Claude Code plugin marketplace —
Expand Down
15 changes: 14 additions & 1 deletion README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,20 @@ bili plugin remove <client> # 卸载(dsh 经同一通道移除;配置快照
客户端有自己的插件通道时,也可以原生安装、完全不用 bili 命令:

- **dsh:** `dsh plugin --profile <name> add billion-context` 正是 `bili plugin install dsh` 按 profile 驱动的那条命令(仅 npm 形态;git checkout 没有已发布入口 —— 直接填 GitHub 地址装到的是没有 `dist/` 的源码,bundle 永远加载不出来)—— 两种走法终态一致(pnpm 装进 profile、patch 层由 dsh 自己挂载);经同一通道卸载。见下文 dsh 段。
- **opencode:** 把裸 npm 包名直接写进你真实配置的插件列表 —— `"plugin": ["billion-context"]`(仅 npm 形态;git checkout 没有已发布入口)。包通过 `exports["./server"]` → `dist/agent/opencode-native.js` 暴露插件入口,opencode 用自己的 Npm.add 机制加载,插件自拉起的行为与 bili 安装的形态完全一致。另外要做两件 bili 安装器会替你做的事:在同一份配置里设 `"compaction": { "auto": false }`(否则 OpenCode 的原生自动压缩会双重压缩),并先手工备份该配置文件。
- **opencode:** 最省事是 `bili plugin install opencode`(它会按宿主版本选对入口形态)。不用 bili 手工安装(仅 npm 形态;git checkout 没有已发布入口):
- **OpenCode 1.x** —— 把裸 npm 包名直接写进你真实配置的插件列表:`"plugin": ["billion-context"]`。包通过 `exports["./server"]` → `dist/agent/opencode-native.js` 暴露插件入口,opencode 用自己的 Npm.add 机制加载,插件自拉起的行为与 bili 安装的形态完全一致。
- **OpenCode 2.x** —— 裸包名**不行**:2.x 走包的 `main` 字段(`dist/index.js`,是 CLI、没有插件定义)解析,模块加载失败(#3976)。正确写法是在一个目录里放一行重导出,再把配置的 `plugins` 列表指向这个目录:

```js
// <shim 目录>/index.js
export { default } from "<全局安装的绝对路径>/dist/agent/opencode-native.js";
```

```json
{ "plugins": ["<shim 目录>"] }
```

两个版本都要做两件 bili 安装器会替你做的事:在同一份配置里设 `"compaction": { "auto": false }`(否则 OpenCode 的原生自动压缩会双重压缩),并先手工备份该配置文件。
- **claude:** 本仓库同时是一个 Claude Code 插件市场 —— `/plugin marketplace add ranxianglei/billion-context`,再 `/plugin install billion-context@billion-context`,然后运行 `/billion-context:bili-setup`(它会替你驱动 `bili plugin install claude` 并提示重启)。终态与 bili 安装器一致;插件自身不携带 hooks 或 MCP 条目,不会双重注册。

pi / omp / kimi / claude 没有客户端侧通道 —— 它们的配置条目由 `bili plugin install <client>` 代写(kimi 的声明式 `kimi.plugin.json` + 注册记录、claude 的受管 settings 块等)。
Expand Down
25 changes: 24 additions & 1 deletion announcements/remote.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,27 @@
{
"v": 1,
"entries": []
"entries": [
{
"id": "dsh-live-compact-conflict",
"kind": "warning",
"tone": "warn",
"title": {
"en": "DSH: dsh-live-compact conflicts with bili compression",
"zh-CN": "DSH:dsh-live-compact 与 bili 压缩冲突"
},
"desc": {
"en": "If your dsh profile has the third-party plugin dsh-live-compact installed, it acts as a competing compaction engine that bili's compaction-disabling overlay cannot see — its checkpoints can land outside bili's knowledge and destroy the compression substrate (#5984). The conflict scan now flags it as a known conflict. If bili should own compression, remove the plugin and restart the profile: dsh plugin remove dsh-live-compact",
"zh-CN": "如果你的 dsh profile 安装了第三方插件 dsh-live-compact,它是一个 bili 压缩禁用 overlay 看不见的竞争压缩引擎——它的压缩 checkpoint 可能落在 bili 知识之外、摧毁压缩基底(#5984)。冲突扫描现在会把它标记为已知冲突。若要让 bili 持有压缩,请卸载插件并重启 profile:dsh plugin remove dsh-live-compact"
},
"hint": {
"en": "Source-level analysis in issue #5984: the plugin takes over dsh's stock compaction engine, and its row name never matches bili's overlay.",
"zh-CN": "源码级分析见 issue #5984:该插件顶替 dsh 的 stock 压缩引擎,其行名永远对不上 bili 的 overlay。"
},
"ctaLabel": "See #5984",
"ctaUrl": "https://github.com/ranxianglei/billion-context/issues/5984",
"dismiss": "persistent",
"priority": 70,
"publishedAt": "2026-11-11T10:40:00Z"
}
]
}
6 changes: 3 additions & 3 deletions docs/architecture/pipeline.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Module: request pipeline (`src/server` + `src/loop`)

> Part of the [architecture hub](../architecture.md) · 中文: [pipeline.zh-CN.md](./pipeline.zh-CN.md) · as of 2026-11-08, master
> Part of the [architecture hub](../architecture.md) · 中文: [pipeline.zh-CN.md](./pipeline.zh-CN.md) · as of 2026-11-10, master

![Request pipeline module](./assets/pipeline.en.svg)
(bitmap fallback: [pipeline.en.png](./assets/pipeline.en.png))
Expand All @@ -25,13 +25,13 @@ Every model-traffic request that reaches the proxy passes through this module: i

**Unified loop (`src/loop`).** A protocol-neutral core with four wire adapters performs tool adjudication and the prose tag-echo filter (`tag-echo-filter.ts` — prose only, arguments untouched). This is where the two compression modes keep the same code path (KDD #7): plugin mode suppresses tool + nudge injection because the agent owns compression; proxy mode emits the `acp_summary` carrier, re-voiced as a user message so strict backends keep a stable prefix.

**Egress.** `stream-*` rewrites the upstream SSE per wire (chunk framing, cache-control breakpoints #1637, `wire-body` trailing-user-turn append). Protocol headers (pf-*/envelope) never leave the proxy — the upstream hop-header list strips them.
**Egress.** `stream-*` rewrites the upstream SSE per wire (chunk framing, cache-control breakpoints #1637, `wire-body` trailing-user-turn append). On the request side, a user-registerable `egressTransforms[]` pipeline (`src/egress-transforms.ts`, #6003) runs ESM plugins over every outbound model-request body after session processing and before re-sign/v1Wrap — fail-open per plugin, hot-reloadable via `/__bili/config/reload`, an exact no-op when unconfigured. Protocol headers (pf-*/envelope) never leave the proxy — the upstream hop-header list strips them.

**Gates & recovery.** `preflight.ts` (hold grace, dead-end cooldown), `reasoning-guard` (signed payloads are never fold inputs), `request-body-budget` (receive/decode/send byte caps, availability over performance #3128), `content-encoding` (decompression-bomb guard, 413). Error shapes: `stream-error` (minimal SSE error + finish), `fake-completion` (opt-in retry hint), `degenerate-turn` / `degenerate-retry`, and `exit-matrix` (wire-exit × concerns, #588).

## Key entries

`src/server/handle.ts` (triage) · `src/server/prepare-*.ts` (per-wire request prep) · `src/marker/` (inbound tag strip) · `src/loop/` (unified core + adapters) · `src/server/stream-*.ts` (per-wire egress) · `src/server/preflight.ts` · `src/server/exit-matrix.ts`
`src/server/handle.ts` (triage) · `src/server/prepare-*.ts` (per-wire request prep) · `src/marker/` (inbound tag strip) · `src/loop/` (unified core + adapters) · `src/server/stream-*.ts` (per-wire egress) · `src/egress-transforms.ts` (user egress body-rewrite plugins, #6003) · `src/server/preflight.ts` · `src/server/exit-matrix.ts`

## Related

Expand Down
6 changes: 3 additions & 3 deletions docs/architecture/pipeline.zh-CN.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 模块:请求管道(`src/server` + `src/loop`)

> [架构总览](../architecture.zh-CN.md) 的一个模块 · English: [pipeline.md](./pipeline.md) · 截至 2026-11-08,master
> [架构总览](../architecture.zh-CN.md) 的一个模块 · English: [pipeline.md](./pipeline.md) · 截至 2026-11-10,master

![请求管道模块](./assets/pipeline.zh-CN.svg)
(位图备选:[pipeline.zh-CN.png](./assets/pipeline.zh-CN.png))
Expand All @@ -25,13 +25,13 @@

**统一 loop(`src/loop`)。** 协议中立核心 + 4 个 wire 适配器,做工具裁决与散文 tag-echo 过滤(`tag-echo-filter.ts`——只滤散文、参数不动)。两种压缩模式在这里共用同一条代码路径(KDD #7):plugin 模式抑制 tool + nudge 注入(agent 自己压);proxy 模式发 `acp_summary` 载体、改口为 user 消息,让严格后端保持前缀稳定。

**出站。** `stream-*` 按 wire 改写上游 SSE(块框架、cache-control 断点 #1637、`wire-body` 尾 user 回合补位)。协议头(pf-*/信封)永不出代理——上游 hop 头白名单剥掉它们。
**出站。** `stream-*` 按 wire 改写上游 SSE(块框架、cache-control 断点 #1637、`wire-body` 尾 user 回合补位)。请求侧另有用户可注册的 `egressTransforms[]` 管道(`src/egress-transforms.ts`,#6003):ESM 插件在所有会话处理之后、re-sign/v1Wrap 之前改写每个出站模型请求体——逐插件 fail-open,可经 `/__bili/config/reload` 热重载,未配置时严格 no-op。协议头(pf-*/信封)永不出代理——上游 hop 头白名单剥掉它们。

**闸门与恢复。** `preflight.ts`(hold 宽限、死路冷却)、`reasoning-guard`(签名载荷永不进折叠输入)、`request-body-budget`(收/解/发字节预算,可用性大于性能 #3128)、`content-encoding`(解压炸弹守卫,413)。错误形态:`stream-error`(最小 SSE 错误+收尾)、`fake-completion`(可选重试提示)、`degenerate-turn` / `degenerate-retry`、`exit-matrix`(wire 出口 × 关注点,#588)。

## 关键入口

`src/server/handle.ts`(分诊) · `src/server/prepare-*.ts`(按 wire 请求准备) · `src/marker/`(入站剥标签) · `src/loop/`(统一核心+适配器) · `src/server/stream-*.ts`(按 wire 出站) · `src/server/preflight.ts` · `src/server/exit-matrix.ts`
`src/server/handle.ts`(分诊) · `src/server/prepare-*.ts`(按 wire 请求准备) · `src/marker/`(入站剥标签) · `src/loop/`(统一核心+适配器) · `src/server/stream-*.ts`(按 wire 出站) · `src/egress-transforms.ts`(用户出站体改写插件,#6003) · `src/server/preflight.ts` · `src/server/exit-matrix.ts`

## 相关

Expand Down
2 changes: 1 addition & 1 deletion docs/architecture/webui.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Everything a human sees about the proxy: the session browser, logs, config, upda

**Data sources.** The live session pool plus storage rows (tier tree, #3917); `acp_status` ranges/nudge are recomputed LIVE per render, never cached stale (`acp-status.ts`); the cache ledger economics (`cache-ledger.ts`, #1536); billing at USD prices with the payback view (#4899); notice dismissal receipts in unified storage (kv_store namespace `notices`).

**Render.** Server-rendered HTML shell (`page.ts`) + one JS bundle (`client.ts`) + styles; `i18n.ts` carries the zh-CN/en message tables (dead keys are test-guarded); `markdown.ts` is escape-safe; `report.ts` builds dependency-free MD+SVG session reports; `diagnostics.ts` produces the paste-ready blob for issue reports (#3040).
**Render.** Server-rendered HTML shell (`page.ts`) + one JS bundle (`client.ts`) + styles; `i18n.ts` carries the zh-CN/en message tables (dead keys are test-guarded); `mdrender.ts` is the single escape-first Markdown + syntax-highlight core (hand-rolled lexers for json/diff/js/ts/py/sh, GitHub light+dark palettes, zero runtime deps — inlined into the browser IIFE via `.toString()` exactly like the JSONC helpers), and `markdown.ts` wraps it for the server side (blog articles + handoff fallback); `report.ts` builds dependency-free MD+SVG session reports; `diagnostics.ts` produces the paste-ready blob for issue reports (#3040).

**Notices.** `mergedNotices()` (`src/announcements.ts`) merges the three sources; the remote feed is this repo's `announcements/remote.json`, polled on the ~3-minute watcher cadence, fail-open (fetch problems keep the last-known-good snapshot; model traffic is never affected); builtin notices are dead-key-guarded by `tests/notice-registry.test.ts`.

Expand Down
2 changes: 1 addition & 1 deletion docs/architecture/webui.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

**数据源。** 活会话池 + 存储行(层树,#3917);`acp_status` 的 ranges/nudge 每次渲染**现算**、从不缓存陈旧(`acp-status.ts`);缓存账本经济性(`cache-ledger.ts`,#1536);USD 价格计费与回本视图(#4899);通告关闭回执在统一存储(kv_store namespace `notices`)。

**渲染。** 服务端渲染 HTML 壳(`page.ts`)+ 一个 JS 包(`client.ts`)+ 样式;`i18n.ts` 承载 zh-CN/en 文案表(死键有测试守卫);`markdown.ts` 转义安全;`report.ts` 生成零依赖 MD+SVG 会话报告;`diagnostics.ts` 产出可粘贴的诊断块供报 issue(#3040)。
**渲染。** 服务端渲染 HTML 壳(`page.ts`)+ 一个 JS 包(`client.ts`)+ 样式;`i18n.ts` 承载 zh-CN/en 文案表(死键有测试守卫);`mdrender.ts` 是唯一的转义优先 Markdown + 手写语法高亮核心(json/diff/js/ts/py/sh 词法器,GitHub 明/暗双配色,零运行时依赖——与 JSONC 辅助函数完全相同的方式经 `.toString()` 内联进浏览器 IIFE),`markdown.ts` 在服务端(博客文章 + 交接文档 fallback)包一层;`report.ts` 生成零依赖 MD+SVG 会话报告;`diagnostics.ts` 产出可粘贴的诊断块供报 issue(#3040)。

**通告。** `mergedNotices()`(`src/announcements.ts`)合并三个源;远端 feed 是本仓 `announcements/remote.json`,按 ~3 分钟 watcher 节拍轮询、fail-open(取不到就留最后已知良好快照;模型流量永不受影响);内置通告由 `tests/notice-registry.test.ts` 死键守卫。

Expand Down
Loading
Loading