IBM watsonx Hackathon 2025

The Legal Auditor That Never Sleeps.

A deterministic rule decides, in code you can read and test. Risk-scored in seconds, so a human reviews the 5% that matters.

Compliance Hawk Interface

Powered By

🤖 IBM watsonx Orchestrate™
IBM Granite 3.2 8B Instruct
🐍 Python FastAPI

Auditable by design

Three properties that make the verdict something you can check, not just trust.

Rules, not vibes

The notice-period comparison happens in plain Python, covered by 22 tests. A model that hallucinates cannot change the verdict.

Quantifiable risk

A binary score removes reviewer ambiguity: 0 (safe) or 100 (critical). Anything the engine cannot read is returned as Undetermined, never guessed.

Disagreement is visible

Granite's own verdict is parsed back and compared against the rule. If they disagree the rule wins — and the response says so, instead of hiding it.

Audit a clause right now

Edit either box, or load one of the examples. This is the real rule engine from the backend repo, ported to JavaScript and running in your browser.

Checking the auditor… The IBM Granite explanation layer ran during the hackathon on event-scoped credentials that have since expired. The verdict logic is unaffected — it was never the model's job.
Load an example:

Demo scope: minimum notice periods only, Indian labour-law style rules. Not legal advice.

How it works

A language model is good at reading a clause and unreliable at arithmetic. So it never decides the outcome — it explains one.

Contract clause Regulation rule Rule engine pure Python · 22 tests decides the verdict IBM Granite 3.2 writes the explanation + its own verdict Compare do they agree? Agree verdict + explanation Disagree rule wins, and both are returned The Granite credentials were event-scoped and have expired, so the live demo runs the left path alone.

What it does well

  • Reads notice periods written as digits, words, 30-day, "one month" or "two weeks"
  • Ignores unrelated durations elsewhere in the same clause
  • Treats a missing notice clause as a violation rather than a pass
  • Returns Undetermined instead of guessing

What it does not do yet

  • One rule family only — minimum notice periods, single jurisdiction
  • No retrieval over a real corporate policy base (RAG)
  • No human-in-the-loop review queue or per-decision audit trail
  • Single clause in, not a full contract PDF

The last two are what a senior reviewer flagged at the hackathon, and they are the next things to build.

See It In Action

Recorded during the hackathon, November 2025: the agent running inside IBM watsonx Orchestrate and calling this project's audit skill. The panel above is the live version you can run yourself.