Repository navigation
row 155: the translate cap leaves the contract; the kernel hands it in the plane's settings and the codec reads it from the plane's own state (stacked on #1030) - #1031
Open
MattJackson wants to merge 5 commits into
Conversation
…n the plane's settings and the codec reads it from the plane's own state TRANSLATE_CAP_READER, its install port, max_translate_body_bytes and the hot vtable's translate_cap service are gone (the slot stays in the layout, retired). The root hands limits.request_body_max_bytes (the kernel's resolved value) in the limits section a door plane is opened and refreshed with; the llm plane's Shaping reads it (translate_cap(), the 32 MiB default when none), and the exchange threads it to the whole-answer over-cap refusal, the relay's same-dialect usage copy, the stream translators' writers (Gemini tool args, Responses accumulators) and the buffered-to-stream synthesizer (IrHandle::apply_translate_cap). The linked engine hands the kernel's own value through the same parameters, and installs a kernel-capped translator factory. qa/contract-stateless.toml 39 -> 38 rows (codec.rs TRANSLATE_CAP_READER). qa/abi-freeze.toml hot 6100 -> 6075.
…o lane-p3-llm-codec-translate-cap
This was referenced Oct 14, 2026
Open
egress seams: HOSTLESS moves onto the plane's build context (EGRESS_TRUST measured, not moved)
#1022
Open
…o lane-p3-llm-codec-translate-cap
MattJackson
marked this pull request as ready for review
October 14, 2026 18:17
This branch has not been deployed
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.
Row 155 (lane-p3-llm), coordinator/contract-ABI ruling. busbar-contract holds no state (BUSBAR-1.6.0.md Part 4; spec l.3701, l.4589). This PR removes TRANSLATE_CAP_READER from
crates/busbar-contract/src/codec.rs.STACKED ON #1030 (DRAFT until #1030 lands, rule 19). It does not need #1028's
CodecHostthreading. It is stacked because the retired hot-ABI service slot (PlaneHostVtable::SERVICES,services::arm, theservices.rs/host.rsdocs) is the same hunk #1030 edits for the tap-fault latch, and rule 20 forbids two open PRs on one hunk. After #1030 lands: merge origin/predev, push once, and ask the coordinator to undraft.The seam (ruling: the cap reaches the plane through its settings)
kernel_sectionshandslimits.request_body_max_bytesin thelimitssection a door plane is opened AND refreshed with. The value iscfg.limits.request_body_max_bytes: theLimitsResolvedvalue the kernel already mirrors intoproxy::max_translate_body_bytes, so it is the same number.Shapingreads it, andShaping::translate_cap()falls back to the same 32 MiB default (TRANSLATE_BODY_MAX_BYTES_DEFAULT, now a plain const in the contract) when none is handed. The door hands each unit's generation cap toReplyCtx.translate_cap.ReplyWhole), with the samewhole::over_cap500 bytes;RelayCtx/Relay::from_parts);new_stream_translator_on(.., translate_cap)callsStreamTranslate::with_translate_capand thenProtocolWriter::set_translate_cap, which drives the Gemini tool-args buffer and every Responses accumulator. Each is anAtomicUsizeon the per-stream writer.TranslateCodec::translate_response(.., translate_cap), then a newIrHandle::apply_translate_cap(a defaulted shape method), thensynthesize_from_response(.., cap).busbar_kernel::proxy::max_translate_body_bytes, through its existingproxyimport line, so the ports-only count is unchanged) through the same parameters. It also installs a kernel-capped stream-translator factory (engine::stream_translator) in place of the plane's default-capped one. The hot linked lane (root/linked.rs) reads the kernel's value directly.TranslateCapReader, the static,install_translate_cap_readerandmax_translate_body_bytesare gone. The hottranslate_capslot stays in the layout but is retired:SERVICESandarmno longer touch it. The kernel stops arming the reader.Same value, same default, same refusal bytes
whole::over_capanswer.limitsreload no longer moves the cap under a body already in flight. Nothing in 1.5.5's oracle exercises a reload mid-stream.RED
compile_faildoctests onTRANSLATE_BODY_MAX_BYTES_DEFAULT:max_translate_body_bytes()andinstall_translate_cap_reader(..)no longer exist, so no reader static remains.crates/busbar-plane-llm/tests/conformance.rs::the_translate_cap_the_settings_carry_is_the_one_the_door_enforces, run linked AND dropped in:limits.request_body_max_bytes: 64, the same answer is exactlywhole::over_cap("openai")'s status and bytes.tests/exchange_shaping.rs::the_translate_cap_is_the_one_the_settings_carry_else_the_default.crates/busbar/src/root/tests/door_steps.rs::the_limits_a_door_plane_is_handed_carry_the_operators_translate_cap: the kernel hands the operator's value, or its default.contract-statelessgate: a static put back is a NEW finding.Ledger (before → after, on top of #1030)
qa/contract-stateless.toml: 39 → 38 rows (44 → 38 from predev with row 155: the usage-tap fault latch leaves the contract; the door returns the fault beside its units and the kernel counts it #1030). Struck staticcodec.rsTRANSLATE_CAP_READER. The codec.rs once-cellOnceLockrow stays, because ENTROPY_SOURCE and WALL_CLOCK still hold it until row 155: the codec's entropy and wall clock leave the contract; a codec is handed a CodecHost (stacked on #974) #1028.qa/abi-freeze.toml:crates/busbar-contract/src/abi/hot6100 → 6075 (6224 → 6075 from predev).Overlap
Nothing was run locally (cargo fmt only); ModernCI is the proof.