Repository navigation
rewrite(phase6): batch 2 — FRAG/RESPQUEUE-slice/LOAN catalog re-derivation - #156
Merged
Merged
Conversation
…ation Part of the v3.0.0 ground-up rewrite (cpp-RCP #129, ROADMAP.md Phase 17), branch rewrite/v3-from-c-rcp. Phase 6 (requirement catalog), batch 2 of 13. ## Scope fragment.hpp's REQ-FRAG-* prefix (18 c-RCP entries, all already orphan-cited in cpp-RCP's own code), the 7-entry REQ-RMAP-* slice that respqueue.hpp's code already cites (059/061-065/085 -- a real subset of c-RCP's combined register-map+response-queue module, specific to response-queue behavior; the rest of REQ-RMAP-*/REQ-REGMAP-* is deliberately deferred to batch 11's regmap.hpp rename), and loan.hpp's REQ-LOAN-* prefix (9 c-RCP entries). ## New catalog entries (26) - REQ-FRAG-{001-015,017,018} (17) -- fragment.hpp's plan_count()/ plan()/Reassembler, all verified against real code. REQ-FRAG-010 needed one new test (destruction-safety, RAII) that didn't exist yet. - REQ-LOAN-{008,009} (2) -- BufferPool destructor free-list release, new_buffer_pool(). LOAN-001-007 needed no action: already had correct catalog entries and code tags from prior work (LOAN-007's tag lives in rcp.hpp/test_rcp.cpp, not loan.hpp -- confirmed found-and-covered, not a gap). - REQ-RMAP-{059,061,062,063,064,065,085} (7) -- respqueue.hpp's RespQueue class. REQ-RMAP-065 copied honestly as c-RCP has it: scope="tc18-gap", status="partial" -- c-RCP's own text states the heartbeat-composition primitives are all present and proven composable, but driving them against a real clock/transport is left to the integrator; cpp-RCP is at the identical boundary. ## Judgment call, not filed as a gap (documented in-file, not the pending file) REQ-FRAG-016 (rcp_fragment_reasm_result_t's RCP_FRAGMENT_REASM_ERR_ALLOC, a distinct allocation-failure return value): no C++ analog -- Reassembler uses a fixed std::array member with no heap growth and therefore no allocation-failure path to distinguish. c-RCP's own REQ-FRAG-016 also carries no TC18 citation, matching the same "architecture divergence, no spec basis to force a gap entry" precedent as batch 1's REQ-ACF-037/REQ-AVTP-016/027. The orphaned tag lines were removed from fragment.hpp/test_fragment.cpp and replaced with an explanatory comment (prose mentions of the id remain for context, not real //fusa:req/test tags -- confirmed these don't register as references to cpfusa's trace tool). ## No gaps filed this batch Every c-RCP requirement in scope was either genuinely implemented, already covered by a pre-existing entry, or the one documented judgment call above -- .fusa-reqs-pending.json is unchanged. ## Verification Independently re-verified (not just the porting agent's own report): semantic id-keyed diff confirms zero pre-existing catalog entries modified/deleted, exactly the 26 new ids added. Zero real orphaned FRAG/LOAN/RMAP tags remain in the six files in scope (the one apparent match, REQ-FRAG-016, is plain prose in a regular comment, not a //fusa:req/test tag -- confirmed by direct grep). Confirmed no new entry carries "severity": "cybersecurity" (would have diluted the sec-tested absolute-count floor fixed in batch 1/#155) -- sec count holds exactly at 72/474, matching the floor. Full tree rebuilt from scratch: 0 errors, 0 warnings, 58/58 ctest suites pass (100%). .fusa-reqs.json: 448 -> 474 entries (+26, 4092 -> 4378 lines). include/rcp/fragment.hpp, tests/test_fragment.cpp: net changes for the REQ-FRAG-016 tag removal/explanatory-comment swap and the new REQ-FRAG-010 test. respqueue.hpp/loan.hpp and their test files: unchanged (already correctly tagged and tested). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Matt <47545907+SoundMatt@users.noreply.github.com>
10 tasks
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.
Part of the v3.0.0 ground-up rewrite (#129, ROADMAP.md Phase 17). Phase 6 (requirement catalog), batch 2 of 13.
This batch: FRAG (18)/RESPQUEUE-slice of RMAP (7)/LOAN (9) — 34 c-RCP entries in scope
scope: "tc18-gap"/status: "partial"— cpp-RCP is at the identical "primitives proven composable, integrator owns real-clock/transport wiring" boundary c-RCP documents.Reassembleruses a fixedstd::arraywith no heap growth — same precedent as batch 1's architecture-divergence findings..fusa-reqs-pending.jsonthis batch — everything in scope was implementable, already covered, or the one documented judgment call.Verification
Independently re-verified: semantic id-keyed diff confirms zero pre-existing entries modified, exactly 26 new ids added. Zero real orphaned tags remain (one apparent match, REQ-FRAG-016, is prose in a regular comment, not a trace-tool tag). Confirmed no new entry carries
severity: cybersecurity— sec-tested count holds exactly at the 72-entry floor fixed in #155. Full tree rebuilt from scratch: 0 errors, 0 warnings, 58/58 ctest suites pass.🤖 Generated with Claude Code