Repository navigation
Controls batch 15b: owners carry across supersession, latency floors carry, declared discontinuity, held source blocks, seek tests, browser plan latency (#1698, #1285, #1323, #1318, #1319, #1688) - #1701
Merged
Conversation
A block with no PCM while a seek is held counts as held, not as an underrun: SourceReadReport gains held_frames, held, cumulative_held_frames and cumulative_held_blocks; the consumer telemetry gains held_frames and held_blocks. The graph's underrun flag folds only real underruns, so a held block no longer marks a spectrum window starved (both hosts alike). No rendered sample moves. Header: the clause calling held blocks underruns is removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…its a seek - D1 a_held_anchored_seek_crosses_a_plan_swap, D2 a_queued_seek_on_a_persisting_source_survives_ supersession, D3 a_held_seek_carries_from_a_taken_candidate (capi runtime tests; bit-identical to fresh or twin references, counters pinned). - D4: audit capi issues seek_at after its structural transaction and feeds generation 2; the carried consumer holds the seek two calls and applies it at call 4. allocations 0, violations 0. pcm_digest bf7dcedd1d92621f -> 4f52089e4a8cf83c (call 4 now plays the generation-2 quantum where it was silent). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… from P0's state B's base across a withdrawn candidate A is P0's own inventory (PlanStateInventory::across_withdrawn), so every owner B keeps unchanged from P0 carries from P0, as the direct P0 -> B swap does, including owners A restarted or removed. Sources keep the host contract (a declaration change against the newest committed session restarts the feed): a P0 source row stays only when A carried it vacant, and the batch 15a guard stays for all four cases (root ruling 2026-10-16). Removed: PreparedHost::carried_base, restricted_to, the carried_base_retained_bytes epoch term, graph::installed_carry_reads, and the superseded tests. capi_retained_bytes 168,810 -> 167,514 (measured, x86-64); ceiling 175,296 stays. No ABI change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A successor plan compiles with its predecessor's per-node arrival floors (GraphBuiltinsCompileRequest::input_floors; pdc::timings compensates every incoming edge to max(arrival, floor)). PlanStateInventory keeps the floored arrivals and every preparation with a SuccessorBase passes them back; a supersession across a withdrawn candidate takes P0's floors. No duck until #1324; the discontinuity reset is #1323. Header and qualification doc paragraph. audit capi unchanged (4f52089e4a8cf83c); no fixture or ceiling moved. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The browser copies the core's plan resources (latency and tail, PlanQueries::resources and control-plane's tail_words, shared with the C ABI) into a 64-byte record: miso_engine_web_v1_plan_latency_read / _ptr (exports 102 -> 104; ABI layout, checker, self-test fixture and SDK mirrors regenerated). Parity rows: boot and every rebuild of the script, a rebuild that adds latency, and a removal that keeps the floored latency (#1285), alike on both hosts. No browser resource re-pin (bridge retained 1,549,094 of 1,667,648). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
SessionState::declare_discontinuity prepares a successor without the latency floors (the base inventory at_discontinuity: identity, rate, quantum and sources), published Next, through the same supersession, donation, guard and observation path as a rebuild. A transaction that supersedes a waiting discontinuity successor is prepared at the discontinuity (the combined twin). Both hosts forward to the core: C ABI miso_engine_v1_declare_discontinuity (FEATURE_DECLARE_DISCONTINUITY = 1 << 8; frozen list 18), browser miso_engine_web_v1_declare_discontinuity; parity row. GraphCompileReport::raised_arrivals (report field only; no program, byte or fixture change). audit capi unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # hosts/host-web/tests/control_parity.rs # tools/parameter-metadata/src/abi_layout.rs
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.
Controls batch 15b: the source and latency chain's first half. A plan's latency no longer drops during playback: a successor keeps its predecessor's per-node arrival floors, and a host can declare a discontinuity to reset them. A superseding candidate carries every owner it keeps unchanged from the running plan. Held source blocks are reported apart from underruns. The browser reads the plan latency from the core, as the C ABI does.
Closes #1698
Closes #1285
Closes #1323
Closes #1318
Closes #1319
Closes #1688
What changed
PlanStateInventory::across_withdrawn). So every owner B keeps unchanged from P0 carries from P0, as the direct P0 -> B swap does, including an owner A restarted or removed. Sources keep the host contract (docs/CONTROL_PROTOCOL_SEMANTICS.md: a declaration change against the newest committed session restarts the feed at generation 1, frame 0): a P0 source row stays only when A carried it vacant, and the batch 15a guarddrops_acked_fresh_sourcestays for all four cases (root ruling 2026-10-16). Removed:PreparedHost::carried_base,restricted_to, thecarried_base_retained_bytesepoch term andgraph::installed_carry_reads. The issue's title now names owners only.GraphBuiltinsCompileRequest::input_floors;pdc::timingscompensates every incoming edge tomax(arrival, floor)). The inventory keeps the floored arrivals, so a chain of successors keeps them, and a supersession takes P0's floors. A restarted strip still starts at rest with no duck until Duck-swap a strip whose state cannot continue across a plan swap #1324. Header paragraph "Latency across a replacement (issue 1285)".SessionState::declare_discontinuityprepares a successor without floors, publishedNext, through the same supersession, donation, guard and observation path as a rebuild. A transaction that supersedes a waiting discontinuity successor is prepared at the discontinuity (the combined twin). Both hosts forward to the core: Cmiso_engine_v1_declare_discontinuity(FEATURE_DECLARE_DISCONTINUITY= 1 << 8, frozen list 18) and browsermiso_engine_web_v1_declare_discontinuity, with a parity row.GraphCompileReport::raised_arrivalsis a report field only: no program, canonical byte or fixture changes.SourceReadReport.held*, consumer telemetryheld_frames/held_blocks). The graph's underrun flag folds only real underruns, so a held block no longer marks a spectrum window starved, on both hosts alike. No rendered sample moves.audit capinow issues aseek_atafter its structural transaction and feeds generation 2.tail_wordsmoved into control-plane and is shared with the C ABI) into a 64-byte record:miso_engine_web_v1_plan_latency_read/_ptr(browser exports 102 -> 105 with Reset latency floors at a host-declared discontinuity #1323's). ABI layout, checker, self-test fixture and SDK mirrors regenerated.Evidence
batch-gates.sh) passes at 470752d: fmt, bench and realtime policy (150 marked regions in 32 files), host-core feature matrix and loom, workspace clippy, the workspace tests, the doc job (cargo doc -D warnings), all 15 shell gates, the web build and check,check-sdk-headless(564 of 564), the 7 Python gates and the fuzz check.--check-matrix --self-test-mutations); render-locked allocations are 0 in every scenario.audit capi: 0 allocations, deallocations, locks and syscalls.pcm_digestmoves frombf7dcedd1d92621fto4f52089e4a8cf83c(Test held seeks across swaps and supersession, and add a seek to audit capi #1319, accepted by root): the audit now issues aseek_atafter its structural transaction and feeds generation 2, so call 4 plays a generation-2 quantum where it was silent. No code pins the old value.hosts/host-web/tests/control_parity.rs): a declared discontinuity resets the floors alike; the plan-latency record equals the C ABI report before and after every block of the scripted run; a rebuild that adds latency moves both alike at the adopting block; removing a limited track keeps the floored latency alike.[t1,t2]/[t2,t3]and the bits differ at block 0, at Simd8 and Simd4; with the fix they are bit-identical to the direct P0 -> B twin.Re-pins (each from a measurement)
capi_retained_bytes(reference session, x86-64): 168,810 -> 167,514 (Carry an owner a superseding candidate keeps unchanged from P0 from P0's state #1698: one 216-byteOption<PlanStateInventory>less in each of six provider epochs) -> 167,754 (Keep every node's latency from dropping during playback #1285:input_floorsandraised_arrivalsin every epoch's inventory, +240). The 175,296 ceiling stays.Review
carried_base), Render moving stored fader automation, seeks and latency #1647 (a(n)is the floored arrival), Keep every node's latency from dropping during playback #1285 and Carry an owner a superseding candidate keeps unchanged from P0 from P0's state #1698; the discontinuity parity row also compares the browser latency record; rewraps; a stale doc link.Successor work found
planLatency()call on the new browser exports yet (a non-goal of Report the plan latency on the browser #1688).delay_samplesedit moves the plan latency is stale: a track delay shifts the output but not the PDC report.runs_behind_natural_timing; Classify a latency-growth edit and publish its warm successor from the control plane #1403 drops itsPrimedCandidaterecord on a discontinuity supersession; Give every plan a timeline that carries like a source #1641's timeline consumer joins the discontinuity carry (noted in Reset latency floors at a host-declared discontinuity #1323's record).Spec bodies to sync after merge
#1698 (title and body), #1285, #1323, #1318, #1319, #1688, #1310, #1344, #1325, #1397, #1647.
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.