Contracts & Versions
A contract in Contract-as-Code represents a single collective agreement, CBA, or enterprise agreement uploaded as a PDF.
Uploading a contract
Navigate to Contracts → Upload contract.
| Field | Required | Description |
|---|---|---|
| PDF file | Yes | The agreement document (max 200 pages, 50 MB) |
| Display name | Yes | A human-readable name (e.g., "CUPE Local 79 — 2024–2027") |
| Jurisdiction | Yes | The jurisdiction that governs this agreement |
| Expiry date | No | When the agreement expires — used for renewal tracking |
| Tags | No | Custom labels for organising your library (e.g., "healthcare", "bargaining-unit-3") |
What happens after upload
- The PDF is stored in your regional data centre (never transferred across borders)
- The AI extraction pipeline processes the agreement text
- Rule candidates are generated and placed in the review queue
- You receive an email notification when extraction is complete
Processing time: 1–3 minutes for a typical 80-page agreement.
Contract versions
When a collective agreement is renewed or renegotiated, upload the new version as a new contract. Contract-as-Code maintains version history:
- Previously approved rules remain accessible under the old contract version
- You can compare rule sets between versions to see what changed
- Unchanged clauses can carry forward previous approvals
- Validation jobs are always run against a specific contract version
Version comparison
Navigate to Contracts → select a contract → Compare Versions.
The comparison view shows:
- Added rules — new in the latest version
- Removed rules — present in the previous version but absent in the new one
- Modified rules — same rule family with changed parameters (e.g., overtime threshold changed from 37.5h to 38h)
- Unchanged rules — identical across both versions
Contract statuses
| Status | Description |
|---|---|
extracting | AI pipeline is running |
review | Extraction complete, rule candidates awaiting review |
active | At least one rule approved, ready for validation |
expired | Past the expiry date — validation still possible but flagged |
archived | Manually archived by an admin |
Contract library
For organisations with multiple agreements, the library view provides:
- Search and filter by jurisdiction, status, tag, or expiry date
- Bulk operations (archive, re-extract)
- Quick access to the rule candidate review queue for each contract
- Expiry date warnings (30-day, 60-day, 90-day)
Permissions
| Role | Upload | Review rules | Run validation | Export reports | Manage team |
|---|---|---|---|---|---|
| Admin | ✓ | ✓ | ✓ | ✓ | ✓ |
| Reviewer | ✗ | ✓ | ✓ | ✓ | ✗ |
| Viewer | ✗ | ✗ | ✗ | ✓ | ✗ |