Happy Path Trading
The "happy path" is done (has been for a while actually). You can buy/sell portfolios of contracts. You can buy/sell individual contracts as long as the number you want to buy/sell matches perfectly with someone else. This is pretty exciting to me. I've even got some validation at order entry and trade execution to make sure things "good."
Some Oddball Paths
Partial match (and vice versa):
1. Order placed for 100 items
2. Match placed for 50 items
3. Match satisfies the first 50 and is executed/closed
4. Order should have the first 50 items executed and be placed into “partially executed” state
Order falls out of validity (and vice versa - which is harder to have happen):
1. Order placed to buy 100 items at 20 by User1
2. User1 buys other items and their points fall below 2000 (should probably also re-validate all their open orders during transactions or perhaps weigh the point implications of existing orders when new orders are made)
3. Match placed
4. Points transaction fails for User1
5. Mark Order as invalid
6. Rematch the match
I've got an automated installer which creates the content types, creates the workflows, creates the "robot" user, and pre-sets all the variables in the system based on these newly created values. Upgrades for changes to the content types/workflows/user aren't particularly handled nor planned for, but we can cross that bridge when we get there.
It's still "just for test sites" and is only really meant to be installed on brand new sites (i.e. if you have userpoints or workflow already installed there may be bugs) but it should be getting to a usable state. There are a few more polish pieces.