Skip to content

chore(release): 版本号抬到 0.3.3——发布候选 - #77

Merged
GGGBB merged 1 commit into
mainfrom
release-0.3.3
Oct 15, 2026
Merged

GGGBB merged 1 commit into
mainfrom
release-0.3.3

Conversation

@GGGBB

@GGGBB GGGBB commented Oct 15, 2026

Copy link
Copy Markdown
Owner

codex-layer 0.3.3

定位不变:架在 codex 客户端 与任意 OpenAI 兼容后端之间的反向代理稳定层,
把 prompt 前缀的表层字节抖动钉定掉,让上游的深缓存继续追加而不是每轮冷算。

这一版有两个用户可感知的好处:中继重启不再让压缩轮退回冷算,以及
Responses 上游的原生压缩状态终于由上游自己给出(不再被本地摘要冒充)。

新增能力

  • Responses 原生压缩接线:上游返回恰好一个原生 compaction 项时逐字节透传;
    仅当上游 4xx 显式拒绝 compaction_trigger 才剥离 trigger、降级本地摘要
    (codexlayer:summary:v1:)并只重发一次。无关 4xx 与全部 5xx 原样透传——
    上游自身故障绝不据此改变行为。非流式响应先重组为 SSE 再计数:直接把 JSON
    喂给 SSE 感知的计数器会得到 0,那会把成功轮误判成失败轮。
  • 响应体累计上限:压缩轮上游响应超过 32MB 一律按失败收口(原因
    compaction_over_limit),流式超限即停止转发。残缺正文建立在不可信文本上,
    据它宣布成功会让客户端拿到「看起来压缩完了、其实状态被截断」的响应。
  • 截断流必显式收口:原生项已给出但上游在完成事件前断流时,本层补一帧
    response.failed,已透传的 opaque 状态逐字节不变;绝不静默半截流。
  • tools 回填缓存跨重启存活:回填缓存此前是纯内存结构,中继一重启就清空,
    而重启(改配置、换产物、发版)是本项目的常规动作——每次重启后的第一个压缩轮
    必然退回 tools 置空的旧行为并整段冷算。现在落盘为预热源:进程启动后首次用到
    缓存时读一次盘,普通轮按内容比对节流刷,压缩轮立即刷。落盘只是预热源,
    内存结构与上限策略一字未动;开关关闭路径零 IO、零副作用。

修复

  • 压缩轮的失败收口此前会被「上游自报失败」和「项数过关」两种形态遮蔽;
    现在三条判据的优先级明确固定为 上限 > 上游自报失败 > 项数,
    且「恰好一项」不再提前返回——缺 response.completed 的截断流照样补失败帧。

治理与可观测

  • 监看界面的时间与区间一律带日期(同天省重复日期),跨天记录不再需要猜是哪天。
  • 贡献指南的作者侧禁令从「职责描述」改成动作级禁止:作者角色不得下 review
    结论、不得执行任何合并命令,交付止于「PR 链接 + HEAD SHA」。
  • 新增第三个 CI job self-approval aftercheck:作者不得自审的事后检测,
    交叉批准留痕时间、合并时间与「批准之后是否又推了新提交」三种事实。
    它刻意永不列 ruleset 必需检查——判的是既成事实,列必需会让一次历史违规
    永久卡死主干。对当前 main 判绿、零误报。

升级

codex-layer restart 即可。落盘的 tools 缓存位于状态目录
(~/.codex-layer/tools-cache.json,可用 CODEX_LAYER_TOOLS_CACHE_PATH 改写),
含工具 schema,可能带客户端 skill 描述文本——路径与内容不进诊断日志与监看接口。
重启后的第一个压缩轮应能在诊断里看到 toolsWarmed ≥ 1 且 toolsBackfilled: true。

@GGGBB GGGBB left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

合并前对账(维护者复核,head e86ff3d)

版本 bump 单,改动面只有 Cargo.toml 一行(0.3.2 → 0.3.3),零代码变更。

收录清单核对(v0.3.2..HEAD 共 12 笔,逐笔归入 release 正文小节,无遗漏、无虚构):

  • 压缩轮三判据接入装配流 + groundwork + 两个测试文件格式 —— 对应「新增能力」前两条与「修复」
  • tools 回填缓存落盘四笔(路径解析 / 落盘层 / 装配流接入 / 测试隔离)—— 对应「跨重启存活」与「升级」段的路径说明
  • 监看界面时间带日期 —— 对应「治理与可观测」
  • 作者侧禁令动作化、作者不得自审的事后检测 —— 对应「治理与可观测」后两条
  • 累计上限的端到端验收两笔(非流式 / 流式)—— 支撑「响应体累计上限」那条不是空头话

release 正文的两条硬要求核对:中性化判据整树零命中(含正文自身,命中数 0);
未承诺任何未落地能力——正文里每一条都能在 v0.3.2..HEAD 的 commit 里找到对应实现与测试。

合并后的动作(不在本 PR 内,记在这里避免口说无凭)

打 v0.3.3 tag 触发 release 产物 → cargo build --release 出本机产物 →
ad-hoc 签名 → .new + mv 原子替换 ~/.local/bin/codex-layer → 等轮次边界再重启常驻。
重启会清空内存态 tools 缓存,落盘上线后这个代价消失:重启后第一个压缩轮应见
toolsWarmed ≥ 1 且 toolsBackfilled: true。

流程偏差声明

bump 由维护者会话执行,单账号下无法自审 APPROVE,以本条评论留对账依据后 rebase 合并。

@GGGBB
GGGBB merged commit c9d03dd into main Oct 15, 2026
8 checks passed
@GGGBB
GGGBB deleted the release-0.3.3 branch October 15, 2026 15:44
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.

2 participants