I find it a little funny you can easily create a transaction
here, and then later broadcast it in Bitcoin Core without a problem at all, but not create it within the client. These transactions thus pass "isStandard",
The node
IsStandard check is a little looser than the wallet's check for standard scripts. It isn't looking for standard script templates because it doesn't need to.
but you have to rely on third-party tools (web services or simply Notepad++ - it's not THAT difficult) to assemble them.
But how do you have a piece of software know how to make the scriptSig/scriptWitness? You have to hard code it, or make something that's smart enough to figure it out own its own. Hardcoding means that the developers have to think of literally every possible script and write scenarios for them. That's basically impossible because there is basically an infinite number of possible scripts. And something smart enough to cover all scripts is also not really possible.
Miniscript is something that does the "smart enough to figure it out own its own" but within a very limited subset of script that can be reasoned about.
I'm not really sure what you mean. Yes, Bitcoin scripts can be infinitely complex, but hashes are only hashes (the "H" in P2SH), there are only so many opcodes, and the "only" thing your code needs to make sure is that when everything is combined and executed, the end result is "TRUE" (i.e. a single 01 in the stack top element, and no other stack elements). Pretty trivial.
These two pages accomplish just this, fast and easy relying only on relatively easy-to-understand javascript:
https://bitcoin-script-debugger.visvirial.com/https://bip32jp.github.io/english/createp2sh.htmlI have coded my own quick and dirty Python script that creates valid raw transactions from self-made sigscript and redeemscript (as in the OP), the output can indeed be broadcast with Bitcoin Core without a problem. In other words, they must be considered standard (if we by standard mean "doesn't get caught in Bitcoin Core's 'isStandad' function"), and they propagate normally through the network (i.e. the other standard nodes have problems with them) and are confirmed, mined and included in blocks, as expected.
I still find it fascinating that no wallet software does this natively, as I think this is the most simple form of a Bitcoin transaction - they don't even have signatures! Take Peter Todd's (in)famous
SHA1 transaction puzzle for example; the solution could not have been created in Bitcoin Core, but very well broadcast with it.
What's I'm gonna do next to automate the process further is to make an Electrum plugin. Which will yield the end-result I was looking for all along. A simple GUI-solution.
I do think it's a little sad I can't do it in Bitcoin Core (without forking it, which at this point is not desirable).