I want to consider a classical computer without any artificial restrictions,
Then you might have failed already becsuse there are relevant things you didn't specify. The problem is whether you wanted to allow and/or prevent superpositions of different initializations in step one.
- The quantum coprocessor is able to initialize (all) its qubits to a well defined initial quantum state.
Yes and no. If, for instsnce, your quibits are the spin of a spin 1/2 particle. You can put each individual qubit into an individual state by measuring the spin along an axis (and then if you get the "wrong" result you can flip it). However there is no way to assign a phase to a single particle, more on that later. But for now, this process leaves each qubit in a general state except each has worse than an unknown phase. The whole collection of all the states is what has the phase and that is unknown.
Since this is unavoidable you could argue that no one expected you to do this. However you haven't been completely general. You could have started with your registers having every possible arrangement of qubits with possible arrangement of quibits assigned an overall magnitude and phase. And that only the superposition lacks an overall magnitude and phase. It's like you can pick a point on the unit sphere in $\mathbb C^{2^n}$ and assign those complex numbers to every possible arrangement of qubits to the individual states.
This is called entanglement. And by assigning a well defined state to every individual qubit you have excluded that possibility and hence potentially limited your computer.
- The quantum coprocessor has a fixed number of gates it can apply to its quantum state, among them a (small) generating set for all permutations, and a universal set of quantum gates.
Again, if you have a classical controller that uses the generating set to get the arbitrarily permutations then it might not handle the superpositions of different initial qubits properly. It is hard to tell since you didn't specify it. If the quantum computer is good st holding qubits (which is in my understanding one of the biggest problems) then the classical computer should be able to set up a generating permutation between two holding regions and transfer them over from one to the other.
By permutation I assumed you meant shuffling the states from the different registers. So e.g. swap registers 1 and 2, swap registers 1 and 3 etc.
As for the other gates. Keep in mind that the full possibilities of measurements should be able to detect whether it is in the exact superposition of each possible arrangement of states to qubits. There are measurements associated with every possible state, and there are a continuum of possibilities. I fail to see you getting them all, or not limiting yourself from what is physically possible.
But you could have the same set other people have. Which might get exponentially or factorially larger as the number of qubits increases.
- The quantum coprocessor is able to perform "some" quantum measurements, whose (finite number of different) classical results can be read by the classical computer.
This is so vague it must be possible. But a measurement is just another interaction but one that couples results to an environment so that the superposition from the entanglement of the result with the environment becomes unexploitable. Again, you should have been able to read and measure much more than the state of each qubit.
Now if the limited tools you want are the tools your algorithm assume you have then you should be fine.