Skip to content

Start here

Covenant change draft

Check source citations and prepare covenant changes for human review.

Check source citations and prepare covenant changes for human review.

When to use it

Check source citations and prepare proposed covenant changes for review. Open the resulting source passages before deciding. Drafted changes remain proposals and do not enter an approved dated view until the required human decision.

Add and configure

  1. Add Covenant change draft from the workflow step picker.
  2. Give the step a recognisable name and connect its required inputs.
  3. Set the options below. Nested names identify fields within an object or a list item.
  4. Validate the recipe, inspect the test result, then run it on the intended data.

The step identifier used in the editor’s code view is covenant_draft.

Settings

This step has no declared configuration fields.

Inputs and outputs

DirectionPortContentRequiredMultiple records
InputsinrecordsYesYes

Inputs record fields

SettingAccepted valueRequiredDefaultWhat it controls
Amendments (amendments)list of object; maximum items 5000YesNot specified—
Action (amendments[].action)"add" / "replace" / "remove" / "waive" / "definition_change"YesNot specified—
Citations (amendments[].citations)list of object; minimum items 1YesNot specified—
Document Id (amendments[].citations[].document_id)string; minimum characters 1; maximum characters 200YesNot specified—
Document Sha256 (amendments[].citations[].document_sha256)string; pattern ^[a-f0-9]{64}$YesNot specified—
End (amendments[].citations[].end)integer; greater than 0YesNot specified—
Quote (amendments[].citations[].quote)string; minimum characters 1YesNot specified—
Segment Id (amendments[].citations[].segment_id)string; minimum characters 1; maximum characters 200YesNot specified—
Start (amendments[].citations[].start)integer; minimum 0YesNot specified—
Effective Confirmed (amendments[].effective_confirmed)booleanNofalse—
Effective On (amendments[].effective_on)string; format date or nullNonull—
expected term (amendments[].expected_term)object or nullNonull—
Conditions (amendments[].expected_term.conditions)list of stringNo[]Each condition is a verbatim substring of text, never a paraphrase. Use an empty array when no separate condition excerpts are needed.
Definition Ids (amendments[].expected_term.definition_ids)list of string; minimum characters 1; maximum characters 200No[]—
Operator (amendments[].expected_term.operator)"<" / "<=" / "=" / ">=" / ">" or nullNonullThe permitted comparison for compliance: a maximum normally uses <=, and a minimum normally uses >=. Do not copy the prohibited breach direction from 'shall not permit ... to exceed/be less than'. Use null if ambiguous. This draft field requires human review and does not execute a compliance calculation.
Text (amendments[].expected_term.text)string; minimum characters 1; maximum characters 20000YesNot specifiedOne continuous verbatim excerpt of active evidence; never paraphrase.
Threshold (amendments[].expected_term.threshold)string or nullNonullDecimal string copied from text with its exact reported precision. Thousands separators may be omitted; do not round or calculate a value.
Unit (amendments[].expected_term.unit)string or nullNonull—
Expires On (amendments[].expires_on)string; format date or nullNonull—
Id (amendments[].id)string; minimum characters 1; maximum characters 200YesNot specified—
Sequence (amendments[].sequence)integer; minimum 0No0—
Target Id (amendments[].target_id)string; minimum characters 1; maximum characters 200YesNot specified—
term (amendments[].term)object or nullNonull—
Conditions (amendments[].term.conditions)list of stringNo[]Each condition is a verbatim substring of text, never a paraphrase. Use an empty array when no separate condition excerpts are needed.
Definition Ids (amendments[].term.definition_ids)list of string; minimum characters 1; maximum characters 200No[]—
Operator (amendments[].term.operator)"<" / "<=" / "=" / ">=" / ">" or nullNonullThe permitted comparison for compliance: a maximum normally uses <=, and a minimum normally uses >=. Do not copy the prohibited breach direction from 'shall not permit ... to exceed/be less than'. Use null if ambiguous. This draft field requires human review and does not execute a compliance calculation.
Text (amendments[].term.text)string; minimum characters 1; maximum characters 20000YesNot specifiedOne continuous verbatim excerpt of active evidence; never paraphrase.
Threshold (amendments[].term.threshold)string or nullNonullDecimal string copied from text with its exact reported precision. Thousands separators may be omitted; do not round or calculate a value.
Unit (amendments[].term.unit)string or nullNonull—
Title (amendments[].title)string or nullNonull—
As Of (as_of)string; format dateYesNot specifiedDate for which to project eligible reviewed terms.
Baseline (baseline)objectYesNot specified—
Covenants (baseline.covenants)list of objectYesNot specified—
Citations (baseline.covenants[].citations)list of object; minimum items 1YesNot specified—
Document Id (baseline.covenants[].citations[].document_id)string; minimum characters 1; maximum characters 200YesNot specified—
Document Sha256 (baseline.covenants[].citations[].document_sha256)string; pattern ^[a-f0-9]{64}$YesNot specified—
End (baseline.covenants[].citations[].end)integer; greater than 0YesNot specified—
Quote (baseline.covenants[].citations[].quote)string; minimum characters 1YesNot specified—
Segment Id (baseline.covenants[].citations[].segment_id)string; minimum characters 1; maximum characters 200YesNot specified—
Start (baseline.covenants[].citations[].start)integer; minimum 0YesNot specified—
Id (baseline.covenants[].id)string; minimum characters 1; maximum characters 200YesNot specified—
Term (baseline.covenants[].term)objectYesNot specified—
Conditions (baseline.covenants[].term.conditions)list of stringNo[]Each condition is a verbatim substring of text, never a paraphrase. Use an empty array when no separate condition excerpts are needed.
Definition Ids (baseline.covenants[].term.definition_ids)list of string; minimum characters 1; maximum characters 200No[]—
Operator (baseline.covenants[].term.operator)"<" / "<=" / "=" / ">=" / ">" or nullNonullThe permitted comparison for compliance: a maximum normally uses <=, and a minimum normally uses >=. Do not copy the prohibited breach direction from 'shall not permit ... to exceed/be less than'. Use null if ambiguous. This draft field requires human review and does not execute a compliance calculation.
Text (baseline.covenants[].term.text)string; minimum characters 1; maximum characters 20000YesNot specifiedOne continuous verbatim excerpt of active evidence; never paraphrase.
Threshold (baseline.covenants[].term.threshold)string or nullNonullDecimal string copied from text with its exact reported precision. Thousands separators may be omitted; do not round or calculate a value.
Unit (baseline.covenants[].term.unit)string or nullNonull—
Title (baseline.covenants[].title)string; minimum characters 1; maximum characters 500YesNot specified—
Definitions (baseline.definitions)list of object; maximum items 250No[]—
Citations (baseline.definitions[].citations)list of object; minimum items 1YesNot specified—
Document Id (baseline.definitions[].citations[].document_id)string; minimum characters 1; maximum characters 200YesNot specified—
Document Sha256 (baseline.definitions[].citations[].document_sha256)string; pattern ^[a-f0-9]{64}$YesNot specified—
End (baseline.definitions[].citations[].end)integer; greater than 0YesNot specified—
Quote (baseline.definitions[].citations[].quote)string; minimum characters 1YesNot specified—
Segment Id (baseline.definitions[].citations[].segment_id)string; minimum characters 1; maximum characters 200YesNot specified—
Start (baseline.definitions[].citations[].start)integer; minimum 0YesNot specified—
Id (baseline.definitions[].id)string; minimum characters 1; maximum characters 200YesNot specified—
Term (baseline.definitions[].term)objectYesNot specified—
Conditions (baseline.definitions[].term.conditions)list of stringNo[]Each condition is a verbatim substring of text, never a paraphrase. Use an empty array when no separate condition excerpts are needed.
Definition Ids (baseline.definitions[].term.definition_ids)list of string; minimum characters 1; maximum characters 200No[]—
Operator (baseline.definitions[].term.operator)"<" / "<=" / "=" / ">=" / ">" or nullNonullThe permitted comparison for compliance: a maximum normally uses <=, and a minimum normally uses >=. Do not copy the prohibited breach direction from 'shall not permit ... to exceed/be less than'. Use null if ambiguous. This draft field requires human review and does not execute a compliance calculation.
Text (baseline.definitions[].term.text)string; minimum characters 1; maximum characters 20000YesNot specifiedOne continuous verbatim excerpt of active evidence; never paraphrase.
Threshold (baseline.definitions[].term.threshold)string or nullNonullDecimal string copied from text with its exact reported precision. Thousands separators may be omitted; do not round or calculate a value.
Unit (baseline.definitions[].term.unit)string or nullNonull—
Title (baseline.definitions[].title)string; minimum characters 1; maximum characters 500YesNot specified—
Effective On (baseline.effective_on)string; format dateYesNot specified—
Documents (documents)list of object; maximum items 100YesNot specified—
Id (documents[].id)string; minimum characters 1; maximum characters 200YesNot specified—
Segments (documents[].segments)object of stringYesNot specified—
Sha256 (documents[].sha256)string; pattern ^[a-f0-9]{64}$YesNot specified—
OutputsoutrecordsYesYes

Effects, testing, and recovery

Transforms or passes records without a declared external side effect.

The declared preview behaviour is to execute this step. Reads, processing, or model usage can therefore be real. Read dry runs before using a preview with live connections.

No duplicate-prevention key is declared for this step. The step declares safe replay for its supported recovery path.

Example: Empty case

Step settings:

{}

Input records:

[
  {
    "amendments": [],
    "as_of": "2024-01-01",
    "baseline": {
      "covenants": [],
      "effective_on": "2024-01-01"
    },
    "documents": []
  }
]

Expected output for this example:

[
  {
    "projection": {
      "as_of": "2024-01-01",
      "current": {},
      "definition_issues": {},
      "history": [],
      "indirect_impacts": {},
      "review_required": {},
      "waivers": {}
    },
    "proposals": [],
    "record_type": "covenant_review_draft",
    "source_hashes": {},
    "status": "review_required",
    "version": 1
  }
]

Check the result

Inspect the selected run’s status, counts, errors, and output records. An empty collection can be a valid result, and a completed step can contain per-record failures where the step defines that behaviour. Check the next step’s expected record shape before publishing or delivering the result.