Skip to main content

Installation issues

Z3 solver not found

Error:
Solution:
Note: The package is z3-solver, not z3.

Holidays package version

Error:
Solution:

DeadlineGuard issues

Unexpected holiday calculation

Problem: Computed deadline differs from expected by a few days. Cause: Different jurisdictions have different holidays. Solution:

“Failed to parse dates” error

Problem:
Solution: Use ISO format or unambiguous dates:

“UNVERIFIABLE” result on a contract term

Problem: verified=False, is_computable=False, and the message starts with ⚠️ UNVERIFIABLE. Cause: The term argument did not contain both a numeric quantity and a recognized time unit. DeadlineGuard fails closed on ambiguous legal language (“reasonable period”, “promptly”, “as soon as practicable”, “forthwith”) instead of inventing a deadline. Solution: Pass an explicit term with a number and a unit. Recognized units are day(s), business day(s), calendar day(s), week(s), month(s), and year(s).
If your contract uses subjective language, route the clause to a human reviewer rather than overriding the guard. Always check is_computable before consuming computed_deadline or difference_days.

LiabilityGuard issues

Float precision errors

Problem: Small differences in large calculations. Cause: Floating-point precision. Solution: LiabilityGuard uses Decimal internally. The default tolerance is 0.01%. Adjust if needed:

ClauseGuard issues

No conflicts detected (false negative)

Problem: You expect a conflict but ClauseGuard doesn’t find it. Cause: ClauseGuard uses heuristic pattern matching, not full NLP. Current Limitations:
  • Only detects termination-related conflicts
  • Limited to English text
  • Requires specific keyword patterns
Workaround: For complex contracts, extract key terms manually:

CitationGuard issues

Valid citation marked invalid

Problem: A real citation is flagged as invalid. Cause: The reporter isn’t in our list. Solution: Check if the reporter is a valid Bluebook abbreviation. If it’s a less common reporter, it may not be in our list. File an issue to add it: https://github.com/QWED-AI/qwed-legal/issues

Statute citation format

Problem: 42 USC 1983 doesn’t validate. Solution: Use proper formatting with section symbol:

StatuteOfLimitationsGuard issues

UNVERIFIABLE result for a jurisdiction or claim type

Problem: guard.verify(...) returns verified=False with a message that starts with ⚠️ UNVERIFIABLE, and limitation_period_years is None. Cause: As of the fail-closed update, StatuteOfLimitationsGuard only computes a result when both the jurisdiction and the claim type match the rule table exactly. There is no longer a substring match ("CALIF""CALIFORNIA") or a default fallback (3 years for unknown claim types). Solution: Inspect the new flags on StatuteResult to see which lookup failed, then pass a supported value:
The full list of supported jurisdictions and claim types is included in the result.message and documented in Guards — StatuteOfLimitationsGuard.

Treating unverifiable as “in period”

Problem: Downstream code passes when result.verified is False because it expects a numeric limitation period. Cause: StatuteResult.limitation_period_years and expiration_date are now Optional and are None for unverifiable inputs. Code that does if result.days_remaining > 0 will raise on None. Solution: Branch on verified and the new *_matched flags before reading numeric fields:

General issues

Import errors

Problem:
Solution:

Version mismatch with MCP

Problem: MCP tools don’t show legal verification options. Solution: Reinstall qwed-mcp after installing qwed-legal:

Still stuck?