Skip to content

v0.9.0 — First-Class Business Domains

Choose a tag to compare

@flyersworder flyersworder released this 13 Apr 18:34
· 64 commits to main since this release
8c1ab30

What's New

First-class business domains — domains are redesigned from a flat dict[str, list[str]] to a proper Domain model with name, summary, description, metrics, and optional tables. Agents now get business context for domain-specific questions.

Added

  • Domain model with name, summary, description, metrics, and optional tables
  • lookup_domain tool (12th tool) with fuzzy matching — returns full domain context, metrics with descriptions, and associated tables
  • Compact <available_domains> in system prompt — progressive disclosure: prompt shows domain index, lookup_domain gives full context, lookup_metric gives SQL
  • Domain validation warnings at tool creation time for unknown metric/table references
  • get_domain() helper on DataContract for exact-match domain lookup
  • Domain summaries in get_contract_info response

Changed

  • Tool count: 12 tools (was 11)
  • System prompt rendering: simplified _render_metrics, new _render_domains takes over when domains exist
  • list_metrics: uses get_domain() internally

Breaking

  • Domain YAML format changed from dict to list[Domain]:
    # Before
    domains:
      revenue: [total_revenue]
    
    # After
    domains:
      - name: revenue
        summary: "Revenue and financial metrics"
        description: "Revenue is recognized at fulfillment, not booking."
        metrics: [total_revenue]

Full Changelog: v0.8.0...v0.9.0