I've never seen anything else that does what the CAv3 does, in this regard (and many others).
If the only thing really stopping you from using the CAv3 is it's size and the screen, you can dismount the actual CA board from the screen, and eliminate any wires you aren't going to use. For instance, if you don't want any kind of limiting, and are only using it to process the torque and cadence PAS sensors into a throttle signal, you could leave off the shunt wires, the ebrake wires, the throttle in wires, the HV jack output wires, temperature sensor wires, aux input (pot) wires, and you could unplug the front panel buttons, either wiring in your own if you need to change presets / etc, or just leave them off entirely if you don't need any functions those buttons can perform.
You'd need to leave the PAS input connector wires, the throttle output wire, and the battery positive and negative wires, and you'd probably want the speedo input wire as some of the PAS functions may depend on a speed input to work in certain ways, and the serial connector wires, as you would need those to read or write settings to the CA from a computer (as it won't have a screen anymore to do it directly).
This is the layout of the actual board inside:
It wouldn't be hard to pot the board up to waterproof it, and then it can go anywhere on the bike that is convenient, even inside the motor controller (since a number of the wires will hook up to the controller anyway (B+ / B-, throttle output, speedo (using a motor hall), and others like PAS cadence and torque inputs could be bundled into the controller harness while you're at it. The serial could be left as a dongly connector hanging out of hte controller with a plug in it to seal water out, or a waterproof connector could be used (3-pin Higo or Julet with a "dead end" plug in it just to cap it off, etc), for access when necessary.
If cost is the issue, then developing your own may be worth doing if you don't consider your free time valuable.
Or if it is something you would like to do as open-source; there is a thread here:
for potentially doing some of what you want to do, though I don't know how long it'll be before I get beyond defining what's needed and pseudocoding, and then seeing who can convert that into actual code (or learn programming and do it myself, eventually). You're more than welcome to contribute to that thread (it's original design intent is to "fix" some modes of CA operation for my own usage on my SB Cruiser trike, but the stuff in it may be useful for others), or post it in your own thread, etc.
Is the jerkiness / instability of the motor at low speeds (under torquePAS only) caused by a sensitivity issue with the Erider TS? Meaning, does the sensor respond too rapidly to input for your needs? An RC (lowpass) filter might help with that, on the signal line. That would also "slow down" it's response at higher speeds as well, though you could make a speedometer-controlled switch (555 timer that is reset by speedo pulses; if it doesn't reset then it doesn't bypass the filter), but that adds complexity quickly, and is probably easier to do in an MCU like an Arduino Nano.
If the GM internal controller has a cadence PAS input, is that PAS input like most, where it simply activates the motor at "full" of whatever PAS level is chosen? (rather than proportionally increasing assist based on cadence, which it seems few controllers do; I haven't had one yet, and is what I use the CAv3 to do).
If it does proportionally increase assist based on cadence, and the Erider outputs a throttle, then does the GM controller "combine" these two or does it have one override the other (the most common way of doing it is the throttle "always" overrides any cadence PAS input; next most common is the PAS always overrides any throttle input, third most common is the PAS is just required to activate the system and throttle then controls the amount of assist; without pedalling throttle is ignored).