Repository navigation
v0.7.1 — Conditional Chains + Code Review Hardening
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: requiredCode 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