Skip to content

v0.7.1 — Conditional Chains + Code Review Hardening

Choose a tag to compare

@witchwasin witchwasin released this 05 Apr 19:23
· 4 commits to main since this release

What's New

Conditional Chains

DependencyRule now supports chain field for transitive dependencies (A → B → C):

- name: loan_approval_chain
  type: dependency
  when:
    entity: applicant
    relation: credit_score
    operator: "<"
    value: "600"
    value_type: int
  then:
    require:
      relation: approval_status
      value: manual_review
  chain:
    - when:
        relation: approval_status
        value: manual_review
      then:
        require:
          relation: reviewer_assigned
          value: required

Code Review Hardening (17 fixes)

CRITICAL (7):

  • Fixed at_least Z3 semantics (incorrect ForAll+Exists nesting)
  • Fixed at_most=0 degenerate constraint handling
  • Reject multiplier=0, min>max, at_least>at_most at parse time
  • Moved studio core into proper package (axiomguard/studio/)
  • Fixed tautology assertion in test

HIGH (4):

  • Fixed XSS vulnerability in Axiom Studio (user input sanitization)
  • Added file upload size limit (1MB) + UTF-8 encoding validation
  • LangChain Chain now inherits from Runnable (LCEL compatible)
  • LlamaIndex Postprocessor now inherits from BaseNodePostprocessor

MEDIUM (4):

  • Operator validation for value_type (reject ">" with string)
  • Reject empty composition condition lists
  • Studio error flag instead of silent masking
  • Mode validation in LangChain/LlamaIndex integrations

Stats

  • Test count: 320 → 329 (+9 validation tests)
  • 17 issues fixed from comprehensive code review

Full Changelog: v0.7.0...v0.7.1