Skip to main content
Glama
ryanduguid

Australian Accounting MCP

Review a Payday Super contribution

calc_payday_super_deadline
Read-onlyIdempotent

Review a single super contribution against Payday Super rules to get deadline, pathway, and verdict based on payment dates and amounts.

Instructions

Review one contribution against payday-super-checker.

qe_day is the qualifying-earnings (payday) date. as_at is required. sg_amount, remitted_amount and matched_amount are AUD decimal strings such as "1000.00": finite, at most 2 decimal places, at most 1000000000000.00. received is fund receipt. remitted is the day money was sent. This tool does not invent clearing-house latency and cannot confirm LCR 2026/1 transition allocation. Without a fund-receipt date the statutory test cannot return ON_TIME. Returns a deadline, pathway, verdict and caveats; assessment_scope is single_contribution. Related contributions, receipt allocation and s 18C(2) item 4 alignment are not reviewed by this tool. sg_amount is operator-supplied; this tool does not calculate SG entitlement. Results are experimental reviews, not compliance determinations. Runs locally without network access, remitting contributions or changing records.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
as_atYesRequired assessment date, YYYY-MM-DD. Supply explicitly; the tool does not assume today. Reads the same date shapes as qe_day.
qe_dayYesQualifying-earnings payment date (payday). YYYY-MM-DD; a payroll export shape such as 13/07/2027 or "9 Jul 2027" is also read, and a numeric date that could be read either way round is refused. This engine rejects dates before its Payday Super regime.
receivedNoActual fund-receipt date, YYYY-MM-DD. Omit or null if unknown; required before the statutory test can return ON_TIME. Reads the same date shapes as qe_day; a stamp carrying Z or a UTC offset is refused, so convert it to the Australian calendar date first.
remittedNoDate money was sent, YYYY-MM-DD. Optional; does not prove receipt by the fund or establish ON_TIME. Reads the same date shapes as qe_day.
sg_amountYesSuperannuation guarantee contribution amount for this employee and qualifying-earnings payment.
db_interestNoWhether this is a defined-benefit interest. Defaults to false; true selects the engine pathway that skips lateness testing.
employee_idNoOperator reference echoed in the result; defaults to "mcp-1". No employee record is looked up or written.mcp-1
out_of_cycleNoWhether the payment qualifies for the out-of-cycle pathway. Defaults to false; true requires next_standard_qe_day for an actual subsequent standard QE payment.
first_to_fundNoWhether this is the first eligible contribution to this fund under the engine first-contribution rule. Defaults to false; establish eligibility before setting true.
matched_amountNoAmount associated with this payday, as an AUD decimal string with at most 2 decimal places; cannot exceed sg_amount. Supply partial amounts even without a remittance date. Caps evidenced receipt and takes precedence over remitted_amount. If both amounts are omitted, a timely receipt remains UNKNOWN; a late receipt remains LATE without reducing the shortfall.
remitted_amountNoAmount sent for this contribution, as an AUD decimal string with at most 2 decimal places. Requires remitted; cannot exceed sg_amount. Omit or null preserves the engine full-remittance convention when remitted is supplied.
next_standard_qe_dayNoSubsequent schedule-consistent non-out-of-cycle QE payment date, YYYY-MM-DD; must be after qe_day when out_of_cycle is true. Not an assumed future payday. Reads the same date shapes as qe_day.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYesThe review ran; this does not mean compliance or a known verdict.
as_atYesExplicit operator assessment date, YYYY-MM-DD.
engineYesDelegated distribution that produced this result.
resultYesContribution assessment; not a compliance determination.
disclaimerYesExperimental review and fund-receipt limitations.
engine_versionYesInstalled version of that engine.
assessment_scopeYesRelated contributions and SG entitlement were not reviewed.
law_content_dateYesDate in YYYY-MM-DD form.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.1.22
    • addedInput schema / properties / matched_amount / pattern
      Added value: +"^\\s*-?[0-9]+(?:\\.[0-9]{1,2})?\\s*$"
    • addedInput schema / properties / remitted_amount / pattern
      Added value: +"^\\s*-?[0-9]+(?:\\.[0-9]{1,2})?\\s*$"
    • addedInput schema / properties / sg_amount / pattern
      Added value: +"^\\s*-?[0-9]+(?:\\.[0-9]{1,2})?\\s*$"
  2. Changed1 schema field changedv0.1.15
    • changedInput schema / properties / sg_amount / description
      Previous value: -"Superannuation guarantee contribution amount for this employee and qualifying-earningspayment."New value: +"Superannuation guarantee contribution amount for this employee and qualifying-earnings payment."
  3. Changed1 schema field changedv0.1.14
    • changedInput schema / properties / matched_amount / description
      Previous value: -"Amount associated with this payday, as an AUD decimal string with at most 2 decimal places; cannot exceed sg_amount. Supply partial amounts even without a remittance date. Caps evidenced receipt and takes precedence over remitted_amount. If both amounts are omitted, received means full receipt."New value: +"Amount associated with this payday, as an AUD decimal string with at most 2 decimal places; cannot exceed sg_amount. Supply partial amounts even without a remittance date. Caps evidenced receipt and takes precedence over remitted_amount. If both amounts are omitted, a timely receipt remains UNKNOWN; a late receipt remains LATE without reducing the shortfall."
  4. Changed10 schema fields changedv0.1.13
    • addedInput schema / properties / as_at / maxLength
      Added value: +40
    • addedInput schema / properties / employee_id / maxLength
      Added value: +120
    • changedInput schema / properties / matched_amount / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 60,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / next_standard_qe_day / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 40,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / qe_day / maxLength
      Added value: +40
    • changedInput schema / properties / received / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 40,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / remitted / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 40,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / remitted_amount / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 60,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / sg_amount / description
      Previous value: -"Superannuation guarantee contribution amount for this employee and qualifying-earnings payment. AUD decimal string, e.g. \"1000.00\"; finite, at most 2 decimal places, absolute value at most 1000000000000.00."New value: +"Superannuation guarantee contribution amount for this employee and qualifying-earningspayment."
    • addedInput schema / properties / sg_amount / maxLength
      Added value: +60
  5. Changed8 schema fields changedv0.1.10
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / matched_amount
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Amount associated with this payday, as an AUD decimal string with at most 2 decimal places; cannot exceed sg_amount. Supply partial amounts even without a remittance date. Caps evidenced receipt and takes precedence over remitted_amount. If both amounts are omitted, received means full receipt.",
      +  "title": "Matched Amount"
      +}
    • addedInput schema / properties / remitted_amount
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Amount sent for this contribution, as an AUD decimal string with at most 2 decimal places. Requires remitted; cannot exceed sg_amount. Omit or null preserves the engine full-remittance convention when remitted is supplied.",
      +  "title": "Remitted Amount"
      +}
    • addedOutput schema / $defs / PaydayAssessment / properties / matched_amount
      Added value: +{
      +  "anyOf": [
      +    {
      +      "description": "Finite engine decimal string, including exponent notation; retain its precision.",
      +      "pattern": "^[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$",
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Amount associated with this payday; null means not supplied.",
      +  "title": "Matched Amount"
      +}
    • addedOutput schema / $defs / PaydayAssessment / properties / remitted_amount
      Added value: +{
      +  "anyOf": [
      +    {
      +      "description": "Finite engine decimal string, including exponent notation; retain its precision.",
      +      "pattern": "^[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$",
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Explicit remitted amount; null preserves legacy semantics.",
      +  "title": "Remitted Amount"
      +}
    • changedOutput schema / $defs / PaydayAssessment / required
      Previous value: -[
      -  "employee_id",
      -  "qe_day",
      -  "sg_amount",
      -  "remitted",
      -  "received",
      -  "due",
      -  "pathway",
      -  "verdict",
      -  "days_late",
      -  "lateness_basis",
      -  "base_shortfall",
      -  "final_shortfall",
      -  "notional_earnings",
      -  "experimental_sgc_low",
      -  "experimental_sgc_high",
      -  "uplift",
      -  "notes",
      -  "caveats",
      -  "horizon_verdicts"
      -]New value: +[
      +  "employee_id",
      +  "qe_day",
      +  "sg_amount",
      +  "remitted_amount",
      +  "matched_amount",
      +  "remitted",
      +  "received",
      +  "due",
      +  "pathway",
      +  "verdict",
      +  "days_late",
      +  "lateness_basis",
      +  "base_shortfall",
      +  "final_shortfall",
      +  "notional_earnings",
      +  "experimental_sgc_low",
      +  "experimental_sgc_high",
      +  "uplift",
      +  "notes",
      +  "caveats",
      +  "horizon_verdicts"
      +]
    • addedOutput schema / properties / assessment_scope
      Added value: +{
      +  "const": "single_contribution",
      +  "description": "Related contributions and SG entitlement were not reviewed.",
      +  "title": "Assessment Scope",
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "ok",
      -  "engine",
      -  "engine_version",
      -  "law_content_date",
      -  "as_at",
      -  "disclaimer",
      -  "result"
      -]New value: +[
      +  "ok",
      +  "engine",
      +  "engine_version",
      +  "law_content_date",
      +  "assessment_scope",
      +  "as_at",
      +  "disclaimer",
      +  "result"
      +]
  6. Changed5 schema fields changedv0.1.9
    • changedInput schema / properties / as_at / description
      Previous value: -"Required assessment date, YYYY-MM-DD. Supply explicitly; the tool does not assume today."New value: +"Required assessment date, YYYY-MM-DD. Supply explicitly; the tool does not assume today. Reads the same date shapes as qe_day."
    • changedInput schema / properties / next_standard_qe_day / description
      Previous value: -"Subsequent schedule-consistent non-out-of-cycle QE payment date, YYYY-MM-DD; must be after qe_day when out_of_cycle is true. Not an assumed future payday."New value: +"Subsequent schedule-consistent non-out-of-cycle QE payment date, YYYY-MM-DD; must be after qe_day when out_of_cycle is true. Not an assumed future payday. Reads the same date shapes as qe_day."
    • changedInput schema / properties / qe_day / description
      Previous value: -"Qualifying-earnings payment date (payday), YYYY-MM-DD. This engine rejects dates before its Payday Super regime."New value: +"Qualifying-earnings payment date (payday). YYYY-MM-DD; a payroll export shape such as 13/07/2027 or \"9 Jul 2027\" is also read, and a numeric date that could be read either way round is refused. This engine rejects dates before its Payday Super regime."
    • changedInput schema / properties / received / description
      Previous value: -"Actual fund-receipt date, YYYY-MM-DD. Omit or null if unknown; required before the statutory test can return ON_TIME."New value: +"Actual fund-receipt date, YYYY-MM-DD. Omit or null if unknown; required before the statutory test can return ON_TIME. Reads the same date shapes as qe_day; a stamp carrying Z or a UTC offset is refused, so convert it to the Australian calendar date first."
    • changedInput schema / properties / remitted / description
      Previous value: -"Date money was sent, YYYY-MM-DD. Optional; does not prove receipt by the fund or establish ON_TIME."New value: +"Date money was sent, YYYY-MM-DD. Optional; does not prove receipt by the fund or establish ON_TIME. Reads the same date shapes as qe_day."
  7. Changed4 schema fields changedv0.1.8
    • addedOutput schema / $defs
      Added value: +{
      +  "PaydayAssessment": {
      +    "additionalProperties": true,
      +    "properties": {
      +      "base_shortfall": {
      +        "anyOf": [
      +          {
      +            "description": "Finite engine decimal string, including exponent notation; retain its precision.",
      +            "pattern": "^[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Engine decimal string, or null when unavailable; null is not zero.",
      +        "title": "Base Shortfall"
      +      },
      +      "caveats": {
      +        "description": "Limitations to retain when presenting the result.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "title": "Caveats",
      +        "type": "array"
      +      },
      +      "days_late": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Engine days late, or null when not established.",
      +        "title": "Days Late"
      +      },
      +      "due": {
      +        "anyOf": [
      +          {
      +            "description": "Date in YYYY-MM-DD form.",
      +            "format": "date",
      +            "pattern": "^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Engine deadline, YYYY-MM-DD, or null when not applicable.",
      +        "title": "Due"
      +      },
      +      "employee_id": {
      +        "description": "Operator reference echoed from the input.",
      +        "title": "Employee Id",
      +        "type": "string"
      +      },
      +      "experimental_sgc_high": {
      +        "anyOf": [
      +          {
      +            "description": "Finite engine decimal string, including exponent notation; retain its precision.",
      +            "pattern": "^[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Engine decimal string, or null when unavailable; null is not zero.",
      +        "title": "Experimental Sgc High"
      +      },
      +      "experimental_sgc_low": {
      +        "anyOf": [
      +          {
      +            "description": "Finite engine decimal string, including exponent notation; retain its precision.",
      +            "pattern": "^[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Engine decimal string, or null when unavailable; null is not zero.",
      +        "title": "Experimental Sgc Low"
      +      },
      +      "final_shortfall": {
      +        "anyOf": [
      +          {
      +            "description": "Finite engine decimal string, including exponent notation; retain its precision.",
      +            "pattern": "^[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Engine decimal string, or null when unavailable; null is not zero.",
      +        "title": "Final Shortfall"
      +      },
      +      "horizon_verdicts": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Engine horizon verdicts, when available.",
      +        "title": "Horizon Verdicts"
      +      },
      +      "lateness_basis": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Receipt or assessment basis used to measure lateness.",
      +        "title": "Lateness Basis"
      +      },
      +      "notes": {
      +        "description": "Engine assessment notes.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "title": "Notes",
      +        "type": "array"
      +      },
      +      "notional_earnings": {
      +        "anyOf": [
      +          {
      +            "description": "Finite engine decimal string, including exponent notation; retain its precision.",
      +            "pattern": "^[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Engine decimal string, or null when unavailable; null is not zero.",
      +        "title": "Notional Earnings"
      +      },
      +      "pathway": {
      +        "description": "Deadline pathway chosen by the engine.",
      +        "title": "Pathway",
      +        "type": "string"
      +      },
      +      "qe_day": {
      +        "description": "Date in YYYY-MM-DD form.",
      +        "format": "date",
      +        "pattern": "^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$",
      +        "title": "Qe Day",
      +        "type": "string"
      +      },
      +      "received": {
      +        "anyOf": [
      +          {
      +            "description": "Date in YYYY-MM-DD form.",
      +            "format": "date",
      +            "pattern": "^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Fund-receipt date, YYYY-MM-DD, or null if unknown.",
      +        "title": "Received"
      +      },
      +      "remitted": {
      +        "anyOf": [
      +          {
      +            "description": "Date in YYYY-MM-DD form.",
      +            "format": "date",
      +            "pattern": "^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Remittance date, YYYY-MM-DD, or null if unknown.",
      +        "title": "Remitted"
      +      },
      +      "sg_amount": {
      +        "description": "Finite engine decimal string, including exponent notation; retain its precision.",
      +        "pattern": "^[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$",
      +        "title": "Sg Amount",
      +        "type": "string"
      +      },
      +      "uplift": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": {
      +              "additionalProperties": {
      +                "description": "Finite engine decimal string, including exponent notation; retain its precision.",
      +                "pattern": "^[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$",
      +                "type": "string"
      +              },
      +              "type": "object"
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Experimental uplift scenarios by history and disclosure timing, or null.",
      +        "title": "Uplift"
      +      },
      +      "verdict": {
      +        "description": "Engine contribution verdict; read alongside caveats and pathway.",
      +        "title": "Verdict",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "employee_id",
      +      "qe_day",
      +      "sg_amount",
      +      "remitted",
      +      "received",
      +      "due",
      +      "pathway",
      +      "verdict",
      +      "days_late",
      +      "lateness_basis",
      +      "base_shortfall",
      +      "final_shortfall",
      +      "notional_earnings",
      +      "experimental_sgc_low",
      +      "experimental_sgc_high",
      +      "uplift",
      +      "notes",
      +      "caveats",
      +      "horizon_verdicts"
      +    ],
      +    "title": "PaydayAssessment",
      +    "type": "object"
      +  }
      +}
    • addedOutput schema / properties
      Added value: +{
      +  "as_at": {
      +    "description": "Explicit operator assessment date, YYYY-MM-DD.",
      +    "format": "date",
      +    "pattern": "^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$",
      +    "title": "As At",
      +    "type": "string"
      +  },
      +  "disclaimer": {
      +    "description": "Experimental review and fund-receipt limitations.",
      +    "title": "Disclaimer",
      +    "type": "string"
      +  },
      +  "engine": {
      +    "description": "Delegated distribution that produced this result.",
      +    "title": "Engine",
      +    "type": "string"
      +  },
      +  "engine_version": {
      +    "description": "Installed version of that engine.",
      +    "title": "Engine Version",
      +    "type": "string"
      +  },
      +  "law_content_date": {
      +    "description": "Date in YYYY-MM-DD form.",
      +    "format": "date",
      +    "pattern": "^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$",
      +    "title": "Law Content Date",
      +    "type": "string"
      +  },
      +  "ok": {
      +    "const": true,
      +    "description": "The review ran; this does not mean compliance or a known verdict.",
      +    "title": "Ok",
      +    "type": "boolean"
      +  },
      +  "result": {
      +    "$ref": "#/$defs/PaydayAssessment",
      +    "description": "Contribution assessment; not a compliance determination."
      +  }
      +}
    • addedOutput schema / required
      Added value: +[
      +  "ok",
      +  "engine",
      +  "engine_version",
      +  "law_content_date",
      +  "as_at",
      +  "disclaimer",
      +  "result"
      +]
    • changedOutput schema / title
      Previous value: -"calc_payday_super_deadlineDictOutput"New value: +"PaydayReview"
  8. Changed10 schema fields changedv0.1.7
    • addedInput schema / properties / as_at / description
      Added value: +"Required assessment date, YYYY-MM-DD. Supply explicitly; the tool does not assume today."
    • addedInput schema / properties / db_interest / description
      Added value: +"Whether this is a defined-benefit interest. Defaults to false; true selects the engine pathway that skips lateness testing."
    • addedInput schema / properties / employee_id / description
      Added value: +"Operator reference echoed in the result; defaults to \"mcp-1\". No employee record is looked up or written."
    • addedInput schema / properties / first_to_fund / description
      Added value: +"Whether this is the first eligible contribution to this fund under the engine first-contribution rule. Defaults to false; establish eligibility before setting true."
    • addedInput schema / properties / next_standard_qe_day / description
      Added value: +"Subsequent schedule-consistent non-out-of-cycle QE payment date, YYYY-MM-DD; must be after qe_day when out_of_cycle is true. Not an assumed future payday."
    • addedInput schema / properties / out_of_cycle / description
      Added value: +"Whether the payment qualifies for the out-of-cycle pathway. Defaults to false; true requires next_standard_qe_day for an actual subsequent standard QE payment."
    • addedInput schema / properties / qe_day / description
      Added value: +"Qualifying-earnings payment date (payday), YYYY-MM-DD. This engine rejects dates before its Payday Super regime."
    • addedInput schema / properties / received / description
      Added value: +"Actual fund-receipt date, YYYY-MM-DD. Omit or null if unknown; required before the statutory test can return ON_TIME."
    • addedInput schema / properties / remitted / description
      Added value: +"Date money was sent, YYYY-MM-DD. Optional; does not prove receipt by the fund or establish ON_TIME."
    • addedInput schema / properties / sg_amount / description
      Added value: +"Superannuation guarantee contribution amount for this employee and qualifying-earnings payment. AUD decimal string, e.g. \"1000.00\"; finite, at most 2 decimal places, absolute value at most 1000000000000.00."
  9. First observedv0.1.6

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: discloses that the engine does not invent clearing-house latency, cannot confirm LCR 2026/1 transition allocation, returns UNKNOWN without a receipt date, treats results as experimental rather than compliance determinations, and never remits or mutates records. This is exactly the extra context an agent needs on top of readOnly/idempotent hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and key scoping constraint are front-loaded, and the sentences are dense with substantive detail. It runs long and repeats a few annotation facts (local execution, no writes), which costs a point but does not bury the important content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter, output-schema-backed tool, it covers the required inputs, the conditions that change the verdict, the scope limitations and the caveat that results are experimental. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3, but the description adds genuine meaning: that remitted does not prove receipt or establish ON_TIME, that matched_amount caps evidenced receipt and takes precedence, and the AUD decimal constraint on the amount fields. It largely mirrors the schema for the remaining parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Review) and resource (one payday super contribution) and scopes it to a single contribution, which implicitly and explicitly separates it from the plural sibling review_payday_super_contributions. It also names what it is not (related contributions, receipt allocation, s 18C(2) alignment).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete usage conditions: as_at is required and never assumed, received is required before the statutory test can return ON_TIME, and sg_amount is operator-supplied. It never names the alternative sibling tool by name, so the routing is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.