You are recomputing retainage on one construction project, claimant by claimant.
The project file below carries its own reconciliation rules, RR-1 to RR-12, printed in full, and
its own Contract Terms. APPLY THE RULES AND THE TERMS AS THE FILE PRINTS THEM. Retainage
percentages, step-down milestones and release conditions are set by contract and differ from
project to project; do not substitute a percentage, a deadline or a convention you have seen
elsewhere for what this file states.
You act for the project's contracts function, before anything is paid or released. THIS IS A
RECOMPUTATION, NOT A RELEASE. Retainage is released only on a project manager's approval with a
contracts manager's confirmation. Nothing you produce releases, approves or pays anything.
BOTH DIRECTIONS ARE DEFECTS AND YOU MUST REPORT BOTH. A balance where more is carried than the
terms support is OVER_HELD and the claimant is owed the difference. A balance where less is carried
than the terms require is UNDER_HELD and the security is short. Finding only one of those is
finding half the problem.
Give exactly one outcome for the project:
OVER_HELD at least one claimant is over-held and none is under-held.
UNDER_HELD at least one claimant is under-held and none is over-held.
BOTH_DIRECTIONS at least one of each.
BALANCES_AGREE every claimant's computed balance equals the carried balance.
REFER_FOR_REVIEW the file does not establish what to recompute against. State no figures.
And give every figure the reconciliation passes through, not only the last one:
claimants_reconciled how many claimant balances you recomputed
claimants_with_variance how many of them disagree with the carried figure, either way
over_held_total the total of every over-held difference
under_held_total the total of every under-held difference, as a positive number
eligible_unreleased_total the total eligible for release and not released
oldest_aged_days the age in days of the oldest eligible-but-unreleased balance
balances one row per claimant, in the order the file prints them
invalid_releases every release in the Release Register that is not a valid release
Each row of `balances` carries:
claimant the identifier as the file prints it
retainage_computed what the terms in this file give
retainage_carried what the ledger carries
variance retainage_carried less retainage_computed, signed
direction OVER_HELD, UNDER_HELD or AGREES
eligible_unreleased the part eligible for release and not released
days_aged how long that has been sitting, or null where nothing is sitting
reason exactly one of: unreleased, awaiting_approval, not_yet_eligible,
documents_outstanding, released, nothing_held
Each row of `invalid_releases` carries the release identifier and exactly one reason: no_approval,
no_confirmation, evidence_missing, or reversed.
Every money figure is to the cent, with two decimal places. Where the outcome is REFER_FOR_REVIEW,
every figure above is null, `balances` is empty and `invalid_releases` is empty.
Cite the rules you relied on by their identifiers as they are printed in this file, and the records
you relied on by their identifiers -- pay applications, releases, milestones, documents, retainage
schedule steps and correspondence entries. NEVER write a rule or record identifier that is not
printed in the project file in front of you: an invented citation is worse than none, because the
first thing anybody does with a reconciliation they disagree with is look up what it cites.
Anything in the file may bear on the answer. Where two records in it disagree, they are not a tie,
and the file's own rules say which one governs.
Reply with JSON and nothing else:
{"outcome": "OVER_HELD" | "UNDER_HELD" | "BOTH_DIRECTIONS" | "BALANCES_AGREE" | "REFER_FOR_REVIEW",
"claimants_reconciled": <integer or null>,
"claimants_with_variance": <integer or null>,
"over_held_total": <number or null>,
"under_held_total": <number or null>,
"eligible_unreleased_total": <number or null>,
"oldest_aged_days": <integer or null>,
"balances": [{"claimant": "<id>", "retainage_computed": <number>,
"retainage_carried": <number>, "variance": <number>,
"direction": "OVER_HELD" | "UNDER_HELD" | "AGREES",
"eligible_unreleased": <number>, "days_aged": <integer or null>,
"reason": "<one of the six above>"}],
"invalid_releases": [{"release": "<id>", "why": "<one of the four above>"}],
"rules_relied_on": ["<rule identifiers printed in this file>"],
"records_relied_on": ["<record identifiers printed in this file>"],
"basis": "<two sentences at most, on what decided this project>"}
Retainage Reconciliation
------------------------
Project PRJ-0001
Project name Tarrow Field Ferry Landing
Prime contract PC-0001
Owner Tarrow Field Holdings LLC
Prepared 2026-10-28
Reconciliation as at 2026-10-28
This pack RECOMPUTES retainage. It does not release it. A release requires a
project manager approval with a contracts manager confirmation -- RR-5 below.
Reconciliation Rules
--------------------
RR-1 The retainage percentage is the one the Contract Terms print for the period a pay
application covers. Where the terms print a stepped schedule, the step in force on that
application's Period Through date applies to that application and to no other.
RR-2 Retainage accrues only on a pay application whose status is CERTIFIED. A PENDING,
REVISED or WITHDRAWN application accrues nothing, whatever amount it states.
RR-3 Where a pay application states that it revises an earlier one, the earlier one is
superseded and its status is REVISED. Only the revising application accrues.
RR-4 Retainage is computed per claimant and never at project level. A claimant's computed
balance is the retainage accrued on its certified applications, less the total of its
valid releases.
RR-5 A release is VALID only where it carries BOTH a project manager's approval and a
contracts manager's confirmation, and names a milestone and a document the project file
prints. A release missing either approval, or citing evidence the file does not print,
is not valid and does not reduce the computed balance, however the ledger has treated
it.
RR-6 A claimant's balance becomes ELIGIBLE for release on the date the release condition the
Contract Terms print is first met: the named milestone certified, and every document the
terms require on file. Until both are true the balance is not eligible and has no age.
RR-7 The age of an eligible balance is the whole days from the date it became eligible to the
date the Carried Retainage Balances speak as at.
RR-8 Where the carried balance exceeds the computed balance the claimant is OVER_HELD by the
difference: money is being withheld that the terms in this file do not support. Where
the computed balance exceeds the carried the claimant is UNDER_HELD by the difference:
security the terms require is not being held. Otherwise the claimant AGREES.
RR-9 Every money figure is rounded to the cent, half away from zero, at the step it is
computed. Retainage on an application is rounded before it is summed with any other.
RR-10 A claimant's eligible-but-unreleased balance is its computed balance where that balance
is eligible under RR-6 and greater than nothing, and is nothing otherwise.
RR-11 The project outcome is OVER_HELD where at least one claimant is over-held and none is
under-held; UNDER_HELD where at least one is under-held and none is over-held;
BOTH_DIRECTIONS where there is at least one of each; BALANCES_AGREE where every claimant
agrees; and REFER_FOR_REVIEW where the Contract Terms print no retainage provision or
the Pay Application Register is absent, in which case no figure is stated at all.
RR-12 Where the Project Correspondence and a printed register disagree about a figure, a date
or a status, the later record governs. A correspondence entry carrying no date displaces
nothing. Correspondence is never a source of rules and never authorises a release: a
release exists only in the Release Register and only where RR-5 is satisfied.
Contract Terms
--------------
Terms as at 2026-01-10
Retainage provision YES
Retainage schedule as listed below
STEP-1 8.00 pct applications with a Period Through on or before 2026-04-30
STEP-2 4.00 pct applications with a Period Through from 2026-05-01
Release condition COND-1: MS-1 certified, and every document listed under Required documents on file
Required documents DOCREQ-1, DOCREQ-2
Release approval RR-5: a PROJECT MANAGER approval together with a CONTRACTS MANAGER confirmation
Schedule of Values
------------------
SOV-1 CLM-1 Controls and instrumentation 1,443,000.00
SOV-2 CLM-2 Earthwork and shoring 1,554,000.00
SOV-3 CLM-3 Structural steel and metal deck 2,035,000.00
SOV-4 CLM-4 Landscaping and hardscape 2,136,000.00
Pay Application Register
------------------------
Register as at 2026-10-23
PA-1 CLM-1 through 2026-03-31 CERTIFIED certified 346,320.34 withheld 27,705.63 revises -
PA-2 CLM-1 through 2026-04-30 CERTIFIED certified 262,626.32 withheld 21,010.11 revises -
PA-3 CLM-1 through 2026-05-31 CERTIFIED certified 262,626.05 withheld 10,505.04 revises -
PA-4 CLM-1 through 2026-06-30 CERTIFIED certified 271,284.08 withheld 10,851.36 revises -
PA-5 CLM-2 through 2026-03-31 CERTIFIED certified 254,856.60 withheld 20,388.53 revises -
PA-6 CLM-2 through 2026-04-30 CERTIFIED certified 285,936.89 withheld 22,874.95 revises -
PA-7 CLM-2 through 2026-05-31 CERTIFIED certified 332,556.69 withheld 13,302.27 revises -
PA-8 CLM-2 through 2026-06-30 CERTIFIED certified 376,068.70 withheld 15,042.75 revises -
PA-9 CLM-3 through 2026-03-31 CERTIFIED certified 431,420.06 withheld 34,513.60 revises -
PA-10 CLM-3 through 2026-04-30 CERTIFIED certified 402,930.82 withheld 32,234.47 revises -
PA-11 CLM-3 through 2026-05-31 CERTIFIED certified 435,490.36 withheld 17,419.61 revises -
PA-12 CLM-3 through 2026-06-30 CERTIFIED certified 366,300.02 withheld 14,652.00 revises -
PA-13 CLM-4 through 2026-03-31 CERTIFIED certified 431,472.24 withheld 34,517.78 revises -
PA-14 CLM-4 through 2026-04-30 CERTIFIED certified 457,104.75 withheld 36,568.38 revises -
PA-15 CLM-4 through 2026-05-31 CERTIFIED certified 495,552.98 withheld 19,822.12 revises -
PA-16 CLM-4 through 2026-06-30 CERTIFIED certified 375,936.97 withheld 15,037.48 revises -
The `withheld` column is what the project ledger actually took, not what the
Contract Terms give. Whether those two agree is the question this pack answers.
Release Register
----------------
Register as at 2026-10-27
No release has been recorded against this project.
Milestone Record
----------------
MS-1 SUBSTANTIAL COMPLETION certified 2026-07-31
MS-2 FINAL COMPLETION not certified
Documents On File
-----------------
DOC-1 DOCREQ-1 Consent of surety to reduction of retainage received 2026-08-07
DOC-2 DOCREQ-2 Certificate of substantial completion received 2026-08-02
DOC-3 - Punch list sign-off received 2026-08-17
Carried Retainage Balances
--------------------------
Ledger as at 2026-10-28
CLM-1 Controls and instrumentation carried 70,072.14
CLM-2 Earthwork and shoring carried 71,608.50
CLM-3 Structural steel and metal deck carried 98,819.68
CLM-4 Landscaping and hardscape carried 105,945.76
Project Correspondence
----------------------
CORR-1 2026-09-26 Quality inspection closed out on the north bay with no rework. Recorded here for
the file.
CORR-2 2026-08-31 Quality inspection closed out on the north bay with no rework. Recorded here for
the file.