I built Sabine to be my Chief of Staff. That means she doesn't just file documents—she needs to understand them well enough to remind me when a contract is coming up for renewal, flag payment terms I should renegotiate, or surface obligations I might have missed.
The problem was simple: Sabine was losing information. A vendor agreement would come in, she'd extract a few key points—party names, maybe the term length—and move on. But what about auto-renewal clauses? Payment schedules buried in appendices? Termination notice requirements? All of that was being dropped on the floor.
What Changed
We redesigned the legal extraction prompt from the ground up. The old version asked Sabine to "summarize" contracts. The new version gives her a structured checklist: parties and roles, key terms and obligations, payment structures, renewal and termination clauses, critical dates, and special provisions.
More importantly, we changed how she stores what she learns. Instead of creating a single memory blob per document, Sabine now breaks contract information into discrete, queryable memories. One memory for payment terms. Another for the renewal clause. Another for obligations that require my action.
The result: 95%+ capture of actionable contract data. Not perfect, but dramatically better than the 60-70% we were seeing before.
Why It Matters
This isn't about better search or prettier summaries. It's about whether Sabine can actually do the job I need her to do.
When a vendor contract auto-renews because neither of us caught the 60-day notice requirement, that's not a missing feature—that's a failure of delegation. If I can't trust Sabine to surface the details that matter, she's just an expensive filing cabinet.
The broader point: autonomous AI systems are only as reliable as their ability to maintain context. You can have the most sophisticated reasoning engine in the world, but if the system doesn't remember the right details at the right time, it's useless.
What's Next
This extraction improvement is the foundation, not the finish line. Next steps:
- Proactive reminders based on critical dates—Sabine should flag renewal windows and termination deadlines without me asking.
- Cross-document analysis—identifying overlapping obligations or conflicting terms across multiple vendor agreements.
- Negotiation prep—pulling historical payment terms and performance data when it's time to renegotiate.
The goal isn't to automate contract management. It's to make Sabine capable enough that I can delegate it—and trust that it's handled. This commit gets us meaningfully closer to that.