fix: align Runtime Host compatible-change epoch - #4204
Merged
Astro-Han merged 1 commit intoAug 29, 2026
Conversation
Update the compatible-change declaration added by apache#4176 to epoch 68, matching the current Runtime Host protocol epoch. This restores the merge-result protocol guard without changing the wire protocol or advancing the epoch. Generated-by: Codex
Astro-Han
marked this pull request as ready for review
August 29, 2026 17:07
ARE404
approved these changes
Aug 29, 2026
ARE404
left a comment
Contributor
There was a problem hiding this comment.
Approving fix: align Runtime Host compatible-change epoch at head 5b6b3347.
I verified the one-line fix against the epoch-guard contract:
packages/runtime-host/protocol-compatible-changes/session-catalog-deep-research-import.jsonchangesepochfrom 65 to 68. The guard (protocol-epoch-check.mjs) requires a compatible-change declaration'sepochto exactly equal the currentRUNTIME_HOST_COMPATIBILITY_EPOCH(value.epoch !== headEpoch→ invalid declaration → files not exempted). On this head the epoch is68, so65was a stale declaration that would have made the guard treatsession-catalog.ts/session-continuity.tsas incompatible changes and fail;68aligns it and restores the exemption.- The fix is minimal and numerically correct for this head; the
filesandreasonfields are unchanged. testwas still settling on the exact head at review time (run33264696081, in progress); 0 unresolved threads.
No P0–P2.
简体中文
批准 fix: align Runtime Host compatible-change epoch,head 5b6b3347。
对照 epoch-guard 契约核实这一行修复:session-catalog-deep-research-import.json 的 epoch 从 65 改为 68。guard(protocol-epoch-check.mjs)要求 compatible-change 声明的 epoch 必须精确等于当前 RUNTIME_HOST_COMPATIBILITY_EPOCH(value.epoch !== headEpoch → 声明无效 → 文件不被豁免)。本 head 的 epoch 是 68,所以原来的 65 是过期声明,会让 guard 把 session-catalog.ts/session-continuity.ts 当不兼容变更而失败;改成 68 对齐并恢复豁免。修复极简且对本 head 数值正确;files/reason 未动。test 在 exact head 上仍在跑(run 33264696081),approve 时尚未终态;0 未解决线程。无 P0–P2。
liuxiaocs7
approved these changes
Aug 29, 2026
saltand
pushed a commit
to saltand/maka-agent
that referenced
this pull request
Aug 31, 2026
Update the compatible-change declaration added by apache#4176 to epoch 68, matching the current Runtime Host protocol epoch. This restores the merge-result protocol guard without changing the wire protocol or advancing the epoch. Generated-by: Codex
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.
Summary
Align the Runtime Host compatible-change declaration introduced by #4176 with the current protocol compatibility epoch, 68. This restores the merge-result protocol guard without changing the wire protocol or advancing the epoch.
Root cause
The branch for #4176 created the declaration while its base was at epoch 65. Independent protocol changes advanced
mainto epoch 68 before #4176 merged.Git reported no conflict because #4176 did not edit
packages/runtime-host/src/protocol/index.ts: the merge result keptmain's epoch 68 and added the declaration containing epoch 65. The merge-result guard compares the result with its first parent and requires a newly added compatible-change declaration to match the result's epoch, so it deterministically rejected the mismatched declaration.This PR changes only the declaration's epoch. It does not modify a wire codec, bump the protocol epoch, change historical result decoding, or add another compatibility path.
Verification
node scripts/protocol-epoch-check.mjs --base d7efbb478518525c24d8b6dddcde396683ba36a2 --head 8aed381eab3aa429d786a1aafc137fa7163d4e34exited 2 withInvalid compatible protocol change declaration.node scripts/protocol-epoch-check.mjs --base d7efbb478518525c24d8b6dddcde396683ba36a2 --head HEADpassed withProtocol added a declared compatible extension at epoch 68.node scripts/protocol-epoch-check.mjs --base origin/main --head HEADpassed.node --test scripts/protocol-epoch-check.test.mjspassed: 12 tests.npx biome format --write packages/runtime-host/protocol-compatible-changes/session-catalog-deep-research-import.jsonpassed with no fixes needed.npx biome check packages/runtime-host/protocol-compatible-changes/session-catalog-deep-research-import.jsonpassed.git diff --check origin/main...HEADpassed.AI use
Select exactly one:
Tool(s) and scope: Codex traced the merge-result guard and historical persistence boundary, authored the one-line declaration fix, ran focused validation, and drafted this pull request. The commit includes a
Generated-by: Codextrailer.Checklist
The protocol guard tests and scoped Biome checks pass; typecheck was not run because no typed source changed.
Does this PR entail a change in behavior?