The problem we left open
In the last post I used objective misspecification to name a failure mode that keeps showing up before architecture debates even matter.
The scalar you ask an optimizer to improve is already a strategy choice. Anonymous losses mint production personalities: silence-as-skill, midpoint peacemaking around 1.80, inventory-blind hunting, untracked recipe swaps that still share a filename. Gates downstream then police the wrong factory with great manners.
That creates three real headaches in production:
- The illusion of a shared model family: artifacts compared as if they optimized the same thing.
- The arbitrage trap: two recipes, two objectives, a gap that may be target conflict rather than edge.
- Credibility collapse under shift: proxies that looked sharp on quiet holdouts and die when the evaluation window can no longer be shrunk away.
So the question for this post is simple. If that is the failure mode, what does a real AI solution look like?
The solution, as one stack
The core idea is older than today's training stacks, and it still holds: do not let the system invent a definition of winning the desk never approved. In engineering language: put the objective on a card, prefer targets that resist gaming, track every sweep, keep multi-criteria honest, and bind allow decisions to the card hash.
I turn that into five moves. Together they are one solution, not five optional add-ons.
1. Write a loss card before you train
A loss card for CEH-001 is boring on purpose: decision object (mark, hedge, both), frames allowed, primary terms, penalty terms, the population the score is computed on, whether flat time counts, cost model reference, stress path packs that enter the score, and the human owner. If the card is missing, training for production cannot start. Research sandboxes can play. They cannot mint allow tokens.
Boring is the point. If the card feels too long, that usually means the team was about to hide strategy choices inside code comments.
2. Prefer expose-aware targets over shrinkable proxies
If a score improves when the policy simply refuses hard days, ban that score for capital recipes or force flat-time penalties in. If average absolute error collapses dual frames into a fake peace, add an explicit disagreement-preservation term or score frames separately. Expose-aware means the objective still bites when the book is exposed, not only when the agent chose to look busy.
I also treat cost blindness as a non-starter. A PnL proxy that ignores spreads, funding, and inventory will invent bravery. Put those terms in the card or refuse the recipe.
3. Track objective sweeps as first-class experiments
Every change to primary terms, penalties, populations, or cost models gets a new card id. Leaderboards must show card id next to seed and architecture. Comparing Recipe B to Recipe C without naming the cards is how teams launder strategy search as hyperparameter tuning.
Keep the sweep log next to the model registry. If you cannot answer which objective minted a champion, you do not have a champion. You have a souvenir.
4. Keep multi-criteria visible instead of one fake scalar
Desks often need mark honesty, hedge residual honesty, inventory, and stress path budgets at once. Compressing them into one training number can be useful inside a search. Shipping only that number is theater. Publish the vector. Gate on the vector. Do not let a single green average waive the criterion the team fears.
5. Bind the allow path to the loss card
An allow token for CEH-001 should carry the loss card hash the same way it carries frame contracts, crowd probes, and range artifacts. If the card changed, the token is invalid. If someone wants a new objective, they re-enter promotion. That is how you stop a Recipe B artifact from spending under a Recipe A story.
Put together: typed loss card, expose-aware targets, tracked sweeps, multi-criteria honesty, card-bound allows. Learning still happens. It just cannot smuggle a different strategy than the desk approved.
The example: CEH-001 under three recipes, now controlled
Without the stack. Recipe A keeps dual clouds near 1.50 and 2.10. Recipe B learns 1.80 from human midpoints. Recipe C farms simulator drift, and promotion compares filenames.
Now run the same case through the solution.
First the loss card forces a human question models cannot answer alone: are we training a dual-frame mark, a hedge, or both, and does flat time count? If the job is dual-frame marking. Recipe B's midpoint objective is not equal truth. It is a rejected card.
Second, expose-aware terms reject silence-as-skill. A policy that improves its score by skipping ugly afternoons fails the card before any network search starts.
Third, sweeps are named. Recipe C's PnL proxy gets its own card id with an explicit drift warning. It cannot quietly inherit Recipe A's promotion narrative.
Fourth, multi-criteria stay visible: frame disagreement width, mark error by frame, residual edge on hedges, path budget breaches. A beautiful average cannot hide a broken dual-frame term.
Fifth, allow tokens bind to the approved card. A 1.80-seeking artifact cannot spend under a dual-frame card hash. End state: you still train. You just stop manufacturing false personalities from anonymous targets.
The flow in one breath
Problem: the loss is already the strategy. Solution: card the objective, prefer expose-aware targets, track sweeps, keep criteria visible, bind allows to the card. Example: 1.50 vs 2.10 stays managed disagreement instead of collapsing into a trained 1.80 peace cult.
That is the systems work I care about in financial AI. Curious how others refuse production training when the objective card is missing or when a proxy can be gamed by shrinking the window.