Repository navigation
Conversation
d31414b to
d9ddff4
Compare
d754ecc to
1303035
Compare
1303035 to
dffb179
Compare
dffb179 to
7d70e54
Compare
7d70e54 to
6e430c4
Compare
6e430c4 to
8ba6dce
Compare
8ba6dce to
3f24fa0
Compare
3f24fa0 to
d3a7b3d
Compare
d3a7b3d to
188d168
Compare
188d168 to
aac9441
Compare
QA LLM Review1. MEDIUM -- The re-export arm overwrites a registry slot an interactive import has already bound to
DetailsEvery other publish path goes through The reader binds once and never re-resolves: The ordering that triggers this is the one Either make 2. MEDIUM -- Aliasing two ids onto one publication point makes them share per-collection compaction state, refusing reads the arrangement can still serve
DetailsThe refusal surfaces two ways. On the fast path, the peek's handle is registered at the published The underlying trace is not actually over-compacted: Divergence between two indexes on the same key is ordinary: a freshly created duplicate starts at its create The publication point's |
d60d9b2 to
feba37d
Compare
QA LLM Review1. HIGH --
|
feba37d to
8a403c9
Compare
|
Agreed. Fixed in 8a403c9: the fallback now attaches the source's traces to the reader's point directly, through a new Posted by Claude Code. |
8a403c9 to
746a81c
Compare
746a81c to
e8cfc40
Compare
22b8f02 to
6cbaddd
Compare
6cbaddd to
25a37b0
Compare
QA LLM Review1. MEDIUM -- A dropped re-export's publication point stays attached to the original index's trace, and keeps receiving updates and seal notifications
The re-export arm attaches a second point to DetailsDropping is the normal order, not an edge case. The controller holds Each dead point costs a chain clone and a lock on every mutation of A cheap fix is to prune attachments nobody can read any more. In |
25a37b0 to
75f75b5
Compare
|
Re the QA review above (dropped re-export's point stays attached): confirmed. Publishing a re-export under its own point attaches a second point to Fixed in the primitive (#38386, Posted by Claude Code |
Co-Authored-By: Claude Opus 5.5 <[email protected]>
6 of 14 in the interactive-runtime stack. Stacks on #38388, followed by #38390. Tracked by CPU-215. The design document is
doc/developer/design/20261107_interactive_runtime.mdin #40559.Both export paths publish their
oks/errsarrangements through the runtime's publisher, chosen whenComputeStateis built: the sharing registry on maintenance, none elsewhere. ThePublishTokenit returns rides on the exportedTraceBundle, so dropping the trace ends the publication. A re-export arm, where an index reuses another index's arrangement, publishes the shared trace under a publication point of its own. A trace can be published to several points, and its trace box applies the meet of every point's holds to the spine, so each id keeps its own holds and seal notifications, and the controller can compact the two collections independently. Publishing adds no operators to any dataflow. A reader that bound the re-export's id before the render holds an unbacked point, which the publish backs in place like any other. clusterd creates one registry per local worker ordinal, and each worker takes the one for its ordinal when it is built. Each maintenance worker attaches as its registry's publisher. Logging indexes publish through the same publisher, at the minimum time.ComputeRuntimeRole::publishes_indexeschooses the publisher, and is true forMaintenanceonly.Interactivestays test-only until #38391 constructs it.No behavior change:
Solois the only role anything constructs and it does not publish, so every added block is skipped and no dataflow gains an operator. No goldens move.The test
reexport_publishes_its_own_point_over_the_same_tracecovers the re-export arm.A reviewer should check that every path that sets an index's trace in
tracespublishes it, and that the token lives exactly as long as the bundle.Posted by Claude Code.
🤖 Generated with Claude Code