Q-W6: registration table (OCP) in main.cpp; bank verbs -> shell/bank_ops(Session&); persist.h + wav_trim + namespaces.h shims deleted; 61/61

capture.h realtime seam split to capture_realtime_shell.h; GetProjExtState grow-loop rehomed to core/wire/ext_state_read; stale persist.cpp/bank_panel.cpp comment refs fixed; CLAUDE.md persist/bank_book/actions bullets updated. Command-id suffixes, display phrases, and undo labels byte-identical.
This commit is contained in:
2026-07-29 13:40:09 -04:00
parent 4831e0e172
commit f3be4d8cce
81 changed files with 970 additions and 1085 deletions
+5 -2
View File
@@ -6,13 +6,15 @@
// Covers: decodeGetProjExtState hit/absent/zero-return/empty-buffer (the stale-buffer
// guard). The S1 spike's extractJsonStringField string-scan reader was retired in S4
// (the instrument now parses the bank through the shared bank_book JSON path), so its
// cases are gone with it. Q-W5 (rider T2-04) adds readProjExtStateGrowing — the ONE
// grow-loop retry policy shared by persist / usage_scan / reaper_bridge — covered
// cases are gone with it. Q-W5 (rider T2-04) added readProjExtStateGrowing — the ONE
// grow-loop retry policy shared by persist / usage_scan / reaper_bridge, rehomed to
// core/wire/ext_state_read.h in Q-W6 and still pinned here alongside the decode — covered
// against a fake read: absent, small-fit, grow-then-fit, empty-complete (composed with
// the decode guard), and the 16 MB overflow give-up. The overflow case is
// prune-safety-adjacent (usage_scan folds it to abortPrune), so it is pinned here.
#include "../src/core/instrument/map/bridge_marshal.h"
#include "../src/core/wire/ext_state_read.h" // readProjExtStateGrowing (Q-W6 rehome)
#include <cstdio>
#include <cstring>
@@ -20,6 +22,7 @@
using namespace reasampler;
using namespace reasampler::instrument::map;
using namespace reasampler::wire;
static int g_fail = 0;
#define CHECK(cond) do { if(!(cond)) { \