Repository navigation
Conversation
Contributor
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true✨ Finishing Touches
Comment |
Contributor
Reviewer's GuideAdds a new execplan document that inventories and plans around Sequence diagram for current Vec_u8 payload flow through codec, envelope, middleware, and hookssequenceDiagram
participant Codec
participant PacketParts
participant Envelope
participant FrameHandlingResponse
participant ServiceRequest
participant ServiceResponse
participant ClientBeforeSendHook
participant DLQSender
Codec->>PacketParts: decode() returns PacketParts{ payload: Vec_u8 }
PacketParts->>Envelope: new() with payload: Vec_u8
Envelope-->>FrameHandlingResponse: pass Envelope with payload: Vec_u8
FrameHandlingResponse->>ServiceRequest: ServiceRequest::new(env.payload, env.correlation_id)
ServiceRequest-->>ServiceRequest: frame_mut() returns &mut Vec_u8
ServiceRequest-->>ServiceResponse: processed payload Vec_u8
ServiceResponse-->>ClientBeforeSendHook: invoke BeforeSendHook(&mut Vec_u8)
ClientBeforeSendHook-->>ServiceResponse: possibly mutated Vec_u8
ServiceResponse-->>DLQSender: push_dlq.send(Vec_u8) on error path
File-Level Changes
Assessment against linked issues
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Commit 815dad6 ("Normalize Rust module layout (#710)") moved `src/codec.rs` to `src/codec/mod.rs`, but the issue-287 ExecPlan still cited the old path in two places: the "Context and orientation" summary of where `FrameCodec` is defined, and the "Surprises & Discoveries" observation that the codec layer is generic over `Self::Frame`. Both claims remain true; only the path had drifted. This contradicted the plan's own constraint to "reflect the current repository layout rather than historical issue context", and its published companion `docs/frame-vec-u8-inventory.md` already cited the current path, so the two artefacts disagreed with each other. Verified `FrameCodec` is declared at `src/codec/mod.rs:64`, that no `src/codec.rs` exists, and that the adjacent `src/hooks.rs` and `src/connection/mod.rs` evidence cited alongside it is unchanged. Recorded the correction in the plan's revision note. Co-Authored-By: Claude Code <noreply@anthropic.com>
leynos
force-pushed
the
inventory-trait-bounds-frame-vec-u8-lm8fpf
branch
from
October 23, 2026 22:08
c0cbc75 to
43a19f7
Compare
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.
Summary
Corrects two stale
src/codec.rspath references in the issue-287 ExecPlan tosrc/codec/mod.rs.This branch originally proposed a
Status: PROPOSEDdraft of that ExecPlan.That draft has been superseded: PR #522 (merged 2026-04-12) published the
issue-287 deliverable
docs/frame-vec-u8-inventory.md, recovered the sameExecPlan file from commit
c0cbc75, and advanced it toStatus: COMPLETE,closing issue #287. Rebasing this branch onto current
origin/mainthereforeleft the branch's commit empty, and Git dropped it.
What survives is a genuine, unrelated defect in the merged document.
Change description
815dad65("Normalize Rust module layout (#710)", 2026-10-11) movedsrc/codec.rstosrc/codec/mod.rs. The ExecPlan, merged months earlier, stillcited the old path in two places:
FrameCodecisdefined.
trait layers are generic over
Self::Frame, citingsrc/codec.rsalongsidesrc/hooks.rs.Both claims remain true; only the path drifted. The plan's own constraints
require it to "reflect the current repository layout rather than historical
issue context", and its published companion
docs/frame-vec-u8-inventory.mdalready cites the current path — so the two artefacts contradicted each other.
The correction is recorded in the plan's revision note so the provenance of the
edit is not lost.
Evidence
Verified against
origin/main(a974dc76):src/codec/mod.rs:64—pub trait FrameCodec: Send + Sync + Clone + 'staticwith
type Frame: Send + Sync + 'static.src/codec.rsdoes not exist;815dad65is the commit that renamed it.src/hooks.rs:28(pub trait WireframeProtocol),src/hooks.rs:30(
type Frame: FrameLike), andsrc/connection/mod.rs:115(
FrameLike + CorrelatableFrame + Packet).Scope
Documentation only. One file, no runtime code, no dependency or manifest
changes:
Validation
CI on this PR is fully green against head
43a19f7b:build-test(cargo testworkspace)Analyze (rust)Analyze (actions)/Analyze (python)That green
build-testis the authoritative Rust gate for this exact commit,so the local-host gaps below do not leave the change ungated.
Local runs against the same candidate
43a19f7b, on a host sharing acompile-admission pool with several other agents:
make check-fmt— pass (cargo fmt --checkclean;mdtablefixreports122 files unchanged)
make markdownlint— pass, including thetypos-config-builderspellinggate; 122 files, 0 issues
make test,make typecheck,make lint— no verdictThose three are reported honestly rather than claimed as passes. This host
shares a compile-admission pool with several other agents, and gates were
repeatedly cut off by runner ceilings while queued behind ~200–400 pending
compilations from unrelated repositories:
make typecheck— completed on an earlier run at 3,408 s with exit 0, butthat run predates the final commit; not re-claimed here.
make lint— stopped by the runner ceiling while still compilingdependencies; the log contains zero
errorlines and never reached Clippyover the workspace crates.
make test— one run was aborted by the admission supervisor refusing tolaunch a compiler for the third-party
regex-automatacrate(
build-limits: the supervisor refused: launch-failed); a second run reachedthe test phase and completed 13 test binaries with 0 failures, 0 errors,
0 panics, but was stopped by the runner ceiling while the trybuild UI
fixture suite was still compiling its nested workspaces.
Why the missing verdicts do not mask a defect here. This commit changes one
Markdown file and nothing else. The tree is otherwise byte-identical to
origin/main(a974dc76), so no Rust code, manifest, build script, or testfixture differs from a commit that is already merged and green. Nothing in the
build reads
docs/: noinclude_str!,include_bytes!,rust-embedstanza,or
build.rsreferences that tree, and no test loads the ExecPlans. The twogates that completed in full — formatting and Markdown linting, the latter with
the repository's
typos-config-builderspelling gate over 122 files — are theones that actually cover a Markdown-only diff.
make testcannot distinguishthis commit from its parent, so its verdict carries no information about this
change either way.
The completed local gates are re-run by CI on this PR in any case, and that
run is green; it is the authoritative result.
Impact
None at runtime. Restores internal consistency between the ExecPlan and the
inventory document it describes, and removes a dead path that would misdirect a
future reader tracing
FrameCodec.Notes for reviewers
landed the actual inventory work. The
Closestrailer from the originaldescription has been removed.
Bytesmigrationitself, which is untouched here and remains open.
origin/mainproduced no conflicts; the branch'soriginal commit became empty because its content was already on
mainby adifferent route.
docs/(9-1-1, 9-1-2, 9-1-3, 9-3-1, and others) also still cite
src/codec.rs.Those are deliberate historical records of plans written against the layout
at the time, and rewriting them would falsify what was planned. This one is
different: it is marked
COMPLETE, its "Context and orientation" section isa present-tense description of the current repository, and its own
constraints require it to track the current layout. It is also the plan whose
companion inventory document cites the current path, so leaving it alone
would keep the pair inconsistent. A blanket sweep of all ExecPlans is
deliberately out of scope for this PR.
References
Frame = Vec<u8>(closed by Publish Frame Vec<u8> inventory docs and recover ExecPlan #522)
Bytesas FrameVec<u8>inventory docs and recover ExecPlandocs/execplans/issue-287-inventory-trait-bounds-expecting-frame-vec-u8.mddocs/frame-vec-u8-inventory.md🤖 Generated with Claude Code