AI Adoption GuideGovernmentClose
Residual liability identifier
ML scans project and financial records for unresolved contractual, legal, and environmental obligations before formal closure sign-off.
Government processPlanFundAuthorizeDeliverInspectEnforceReportClose
By Don, DoneThat’s AI coach · updated
What belongs on a residual list
A residual liability identifier is useful only when every item it surfaces is something closeout counsel can still act on before sign-off. The output is a list of unresolved contractual, legal, or environmental obligations found in the project and financial record. Each item must point to a contract clause or an open claim. If the file is clean, the list stays empty. The scan does not invent a dollar exposure, and it does not replace counsel's closeout signature.
Counsel uses the list as a pre-sign-off exception report, not as a substitute for the closeout package. Items that cannot be traced to a clause or a live claim do not belong on it. Amounts that were never calculated in the source file do not belong on it either.
The scan reads what is already in the file. It does not complete missing legal analysis. A residual that names "possible environmental exposure" without citing the indemnification clause, the permit condition, or the open claim file is noise. Closeout counsel should treat that row as incomplete, not as a finding.
Assembling the contract and claims file
Load the executed contracts, amendments, and change orders first. Then load the claims docket: notices, reservations of rights, pending change proposals, and any litigation or administrative hold that is still open. Financial records come third: retainage schedules, withheld amounts tied to punch lists, escrow or surety instruments, and environmental set-asides that the agency already booked. Permits, consent decrees, and land-use conditions that survive substantial completion belong in the same load if they are part of the closeout file.
Records systems in this space are usually mixed. Contract text may live in a document library (Microsoft), legal research and docket notes in a research platform (LexisNexis), and the official project or permitting record in an agency system (Tyler, Accela). The identifier does not care which vendor holds the file. It cares that the load is complete enough that an unresolved obligation can be cited back to a clause or a claim, not inferred from a filename.
Do not load draft term sheets, unsigned RFPs, or working legal memos as if they were operative. A residual that cites a draft indemnity paragraph will send counsel chasing a clause that never bound the parties. If a claim was withdrawn or settled, load the withdrawal or the settlement so the scan can see the close, not only the original notice.
After the load, run the scan against that assembled file only. Mixing in a later grant cycle, a different task order, or a sibling project will produce residuals that look real and cite the wrong instrument.
Citing the clause or the open claim
Every residual item must carry a cite. For a contractual hold, that is the article, section, and exhibit that still imposes a duty after substantial completion: warranty periods, latent-defect reservations, indemnity survival, liquidated-damages provisions that still run, audit rights, or environmental remediation covenants. For a live dispute, that is the claim number, the notice date, and the status still open in the docket.
A highway overlay is otherwise ready for closeout. The scan flags three residuals. First, Article 12.4 of the construction contract, a pavement warranty that has not yet expired. Second, Claim 2024-17, a contractor notice of differing site conditions that was never withdrawn and never settled. Third, Special Condition E-3 of the NPDES permit, a post-construction monitoring obligation that still runs. Each row names the instrument and the clause or claim. None of the rows invents a dollar figure. Counsel can then decide whether warranty tracking, claim resolution, or permit monitoring still blocks sign-off, or whether those items transfer into a post-close watch list.
If the scan cannot attach a clause or a claim number, do not keep the row. A residual with no cite is a failure mode, not a conservative finding. Counsel cannot verify it, cannot assign it, and cannot close it. Delete it or send it back for a better load.
The same discipline applies to amounts. If retainage is still held, the financial record already states the withheld sum; cite that schedule. If the file never quantified the exposure, leave the amount blank. Inventing a dollar exposure is a second failure mode. It looks like analysis and it is not. It also contaminates the closeout package if someone later treats the invented figure as an accrual.
Leaving a clear file empty
Empty output is a valid result. If contracts, claims, and financial records show no unresolved obligation that still binds the agency or the contractor after closeout, the list should be empty. Do not pad it with expired warranties, settled claims, or watch items that have no surviving duty.
A clear file is not the same as a complete closeout. Asset transfer, as-built packages, and property records still have to be assembled; that work sits with the asset handover documentation generator, not with this scan. Lessons that should survive the project belong in the lessons learned extractor. The residual list answers one question only: is there an unresolved contractual, legal, or environmental obligation still sitting in this file?
If later work will watch surviving duties after sign-off, that is a different product of the close stage. Hand surviving, cited obligations to the post-closure obligation monitor after counsel decides they do not block closeout. Do not keep them on the residual list as if they were still exceptions to sign-off.
When the scan returns empty, record that fact in the closeout file the same way you would record a punch list with zero items. Counsel still reviews the load. Empty because the file was never loaded is not the same as empty because the file was clear.
Mistakes that make the list unusable
Three failure modes should be treated as hard stops.
A residual with no clause or claim cite. The row names a topic (indemnity, contamination, latent defects) and nothing else. Counsel cannot confirm the duty still exists. Treat the row as a load or extraction error. Re-run against the operative instruments, or drop the row.
Treating the list as closeout. The residual list is an exception report. It is not the certificate of completion, not the legal opinion, and not the agency's formal closeout. Signing because the list is short, or because it is empty, skips the rest of the closeout record. The list does not attest that as-builts were delivered, that title is clean, or that a follow-on award is safe. Questions about whether the same contractor or a related entity should receive a later award belong with the re-grant risk profiler, not with residual identification.
Inventing a dollar exposure. The scan may repeat a figure that already appears in a retainage schedule, a claim demand, or a booked reserve. It may not estimate a missing number. If counsel needs a quantum, that is a separate legal and financial exercise on the cited claim or clause.
Over-inclusion is a quieter problem: expired warranty text, closed claims, or permit conditions that already terminated. Those rows dilute the list and train reviewers to ignore it. Prefer a short, cited list or an empty one.
Counsel still signs closeout
The identifier improves the quality of what counsel sees before sign-off. It does not sign. Closeout counsel still reviews the residual list against the assembled file, decides which items block formal closure, which items transfer to a post-close watch, and which items were extraction errors. Then counsel signs the closeout, or withholds signature, on the strength of that review.
Use the list in that order. Load contracts and claims. Read residuals only when they cite a clause or an open claim. Leave a clear file empty. Do not treat the list as the closeout, and do not invent amounts. Sign after that review, not because a scan ran.
Is this worth automating for you?
Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.
DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.
Measure the baseline first