Build a Contract Review and Redlining Assistant
Build an agent that compares a vendor agreement with a supplied contract playbook, explains deviations, and proposes clause revisions. Give reviewers an editable risk register and a tracked-change document.
What you are building
The core problem, expected build, and operating context for this challenge.
A legal operations reviewer processing vendor agreements.
Build an agent that compares a vendor agreement with a supplied contract playbook, explains deviations, and proposes clause revisions. Give reviewers an editable risk register and a tracked-change document.
Agreement clauses
Approved clause playbook
Reviewer instructions
Identify clauses and defined terms.
Compare clauses against applicable playbook entries.
Propose supported fallback text with references.
Export tracked changes and a reviewer decision log.
A clause review workspace with source text, playbook references, proposed edits, and DOCX export.
Flag C1, propose the P1 fallback, preserve C2, and export reviewer-visible tracked changes rather than silently rewriting the agreement.
A working local application with the specified review interface.
Source code, dependency lockfile, and setup commands.
A recorded end-to-end demo using the supplied starter data.
Example outputs, action logs, and automated tests.
These fictional records are a small development fixture, not a production dataset. Implement the mock services described in the brief.
```json { "agreement": [ { "id": "C1", "type": "liability", "text": "Supplier liability is unlimited." }, { "id": "C2", "type": "payment", "text": "Payment is due in 30 days." } ], "playbook": [ { "id": "P1", "type": "liability", "fallback": "Supplier liability is capped at fees paid in the preceding 12 months.", "review_required": true }, { "id": "P2", "type": "payment", "acceptable_text": "Payment is due in 30 days." } ] } ```
Use the fictional playbook. Do not give legal approval, negotiate, or sign documents. Choose an available model that supports your implementation. Record its identifier and version.
Review the complete application, not only the starter-case answers.
The proposed edit cites P1.
Unchanged clauses remain unchanged.
The exported document contains actual insertion and deletion markup. Add one normal case, one incomplete-input case, and one failure-recovery case.
Participation guide
Use the fictional playbook. Do not give legal approval, negotiate, or sign documents.
How work is evaluated
Review workflow completion, interface usability, evidence quality, and safe failure handling. No agent execution has been verified.
A working local application with the specified review interface. Source code, dependency lockfile, and setup commands. A recorded end-to-end demo using the supplied starter data. Example outputs, action logs, and automated tests.
Challenge datasets
Public datasets, plus the private datasets you have access to.
What you should walk away with
Identify clauses and defined terms.
Compare clauses against applicable playbook entries.
Propose supported fallback text with references.
Export tracked changes and a reviewer decision log.
Reference links and supporting material
Supplied fictional starter records: Agreement clauses, Approved clause playbook, Reviewer instructions. The overview includes the complete JSON bundle. Implement local mock services and extend the sample coverage.
Challenge setup
Configuration summary for this challenge.
Challenge input
Input details are not configured.
LlamaIndex
Data framework for LLM applications
Evaluated output
No output checks are configured.
- No evaluation checks are configured.
- 1 public reference case
- 1 configured tool
Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.
View technical recipe
Configured tools
- LlamaIndex ยท Optional
Evaluation contract
- No evaluation checks are configured.
Reference cases
- 1 public reference case
Workflow tasks
No workflow tasks are configured.
Recipe freeze marker
No recipe freeze time is recorded.