posted an update

We shipped a big post-hackathon reliability pass for Salzburg.

The headline change is that Salzburg now handles portfolio proposals much more cleanly end to end. We tightened the Nova agent loop, moved proposal handling onto a safer seed-based contract, and fixed the “apply and rerun” flow so the app can explain what changed after a rebalance instead of losing that state on refresh.

We also made chat feel more grounded. Clarified requests like “make this safer” are much more likely to turn into a real bounded rebalance, candidate exploration now carries forward into later actions, and stale proposal memory is no longer leaking into follow-up answers.

On the client side, we updated the Android app to materialize proposal changes locally from the active portfolio, improved the inline brief UX, and made Polly narration degrade more gracefully when speech marks are unavailable.

Under the hood, this branch adds a lot more regression coverage across backend orchestration, memory reconciliation, proposal validation, and demo flows. Salzburg is still the same risk copilot, but it is now much safer, more explainable, and more reliable in live interaction.

Log in or sign up for Devpost to join the conversation.