Skip to main content
DoneThat

AI Adoption GuideConstructionPlan

Project Risk Register Generation

LLM generates a risk register from scope, site conditions, and contract terms with likelihood and impact scores.

Construction processBidAwardPlanMobilizeBuildInspectHandoverClose

By Don, DoneThat’s AI coach · updated

Three source packs, not a template library

A draft risk register is useful when every row traces to this job's scope, site notes, or contract, and when likelihood and impact stay blank until the project manager fills them. The model extracts and cites. The PM scores and owns. If a source pack is missing, those cells stay empty. Silence is not permission to invent.

Scope, site, and contract answer different questions. Scope says what is being built, what is excluded, and which packages are incomplete. Site notes say what is known about access, neighbors, utilities, and ground. The contract says who pays for delay, how notice works, and which money risks (including liquidated damages) sit with the contractor. Collapsing those into one project-risk sentence hides the lever the PM still has to pull.

Do not start from a generic construction-risk checklist and then hunt for a sentence that almost matches. Completeness against a template is not quality. Quality is a short list of findings a reviewer can open in the source pack and confirm. A row without a cite is not a risk. It is an opinion.

This page is for a construction project-risk or PM lead who will still sign the register. It does not replace tender clause risk classification on the bid set, and it does not replace a live schedule or BIM review. Those can feed a row only after they exist in a document the team owns.

Extract, cite, then stop

Work the three packs in a fixed order so citations stay honest.

Read the scope first. Pull exclusions, interfaces, incomplete design packages, long-lead items, and work that depends on others. Cite the section heading and paragraph, not a paraphrase. Facade package incomplete is a finding only if the scope or drawing list says so. If the specification calls the envelope design-assist, cite that. Do not upgrade it to full design responsibility unless the contract does.

Then site notes. Pull access constraints, occupied-building constraints, known utilities, flood or contamination flags, and geotech statements that are actually in the note. If the site pack has no geotech, do not add uncertain soil bearing because mid-rise jobs often have it. Empty stays empty. The honest treatment of a missing pack is a visible gap, not a borrowed textbook hazard.

Then the contract. Extract delay damages, LD rates and caps if stated, notice periods, concurrent-delay language, weather allowances, variation valuation, design-responsibility clauses, and insurance deductibles that shift cost. Every contract risk that is in the document stays in the draft. Do not drop liquidated damages because they look standard. The PM decides whether the clause is material. The extract must still show the clause, with the clause number and a short quote.

Write each row in a fixed shape: a one-sentence risk statement; source type (scope, site, or contract); cite (document, clause or paragraph ID, short quote); owner blank until the PM names a person; likelihood blank; impact blank or a qualitative band the PM fills; response blank until the PM chooses avoid, mitigate, transfer, or accept.

Do not let the model fill likelihood with a percentage. A generated figure is not a measured probability. If the team uses a 1-5 scale, the PM enters the 1-5. The draft can note which evidence the score should consider. It cannot treat that note as data.

If you already classify tender clauses for bid risk, reuse those labels when the same clause lands in the execution register. Keep the cite. Do not collapse a stated daily LD rate, a completion definition, and a cap (if any) into a single delay risk label. The PM needs the clause mechanics, not a theme.

Mid-rise envelope extract

Take a mid-rise residential job with an incomplete facade package, a site note that flags a narrow lane and a live school next door, and a contract with liquidated damages and a short delay-notice window. This is a walkthrough of extract-and-cite, not a measured outcome and not a case study.

From scope: the architectural specification lists the curtain-wall package as design assist, shop drawings by specialist, engineer-of-record review. Cite that paragraph. The risk is late shop-drawing approval driving envelope delay, not a generic design risk. An exclusion for existing-facade waterproofing at the podium joint is a finding if the drawings still show a joint. If the drawing list marks the envelope as not issued for construction, cite the list. That is evidence of incompleteness, not a likelihood number.

From site notes: deliveries via a one-way lane, no street laydown, school pickup in a named afternoon window. Cite the note. Risks: material staging, hoist location, and after-hours work if the program needs it. The site pack does not mention boreholes or fill. Do not add a geotech row. Do not add unknown underground obstructions because urban sites often have them.

From contract: liquidated damages at a stated daily rate after the completion date, plus a notice period for delay events. Cite the LD clause and the notice clause as two rows, or as one row with two cites. Do not omit them. A weather clause that only grants time for named events is a third contract row if it is in the document. If the contract is silent on a cap, leave the cap field empty.

The PM then scores. Likelihood for shop-drawing delay may be high because the package is design-assist and not issued for construction. That is a judgment from completeness of the scope, not a probability the model calculated. Impact for LDs is read from the clause. The model must not invent a cap, and must not convert the daily rate into a forecast of days lost.

A CPM schedule generation from scope draft can show whether the envelope sits on the longest path. That still does not turn a likelihood cell into a statistic. Clash findings from BIM design clash detection can feed new scope-side rows only when the clash is documented. A clash that is still only a model flag is a coordination item until someone writes it into a package or RFI the register can cite.

When complete means invented

Inventing geotech. If this job's site notes are silent, a row for unexpected ground conditions is fabrication. The honest row is geotech not in the site pack; register incomplete on ground. Filling the gap with a textbook risk hides the missing source.

Scoring likelihood as if it were a statistic. Phrases like industry-average delay probability have no measurement behind them on this job. Keep scores in the PM's hand. If you need a prior from past jobs, pull it from your own closed-out registers, with the job names the PM can check.

Dropping liquidated damages because they look standard. LD, notice, and concurrent-delay language get skipped as boilerplate. Those clauses are often the largest money risk in the contract pack. If the clause is in the document, it is in the draft. A reviewer who finds an LD clause in the contract and no matching row should reject the draft.

Do not merge three sources into one row so the cite is mush. Envelope delay from design, access, and LDs cannot be verified. Split it. Leave owner blank until a named person accepts it. If contractor performance is in play, do not invent a delivery score. Point the PM to contractor delivery risk scoring, then add a row only when that judgment exists in a note the team will keep.

After the PM owns the scores

Once cites are clean and empty cells are honestly empty, the PM assigns owners, scores, and responses. That signed table is what belongs in the project system. The unsigned extract is a working file. Mixing the two is how invented likelihoods and dropped LDs survive into reports.

Registers in this class of work usually live next to project controls in platforms such as Autodesk and Procore. Treat those products as the place the owned register is stored, not as a reason to skip citation. Uncited model text should not land in the official register. If the platform already has a risk module, map fields after the PM has scored, so the module does not become a second place where a percentage appears without a method.

Re-run extraction when scope is reissued, when a new site investigation arrives, or when a variation changes the contract. New sources add rows. They do not backfill invented history. If a later geotech note appears, that is when ground-condition rows appear, with a cite to that note. If a later addendum changes the notice window, revise the contract rows.

The quality bar is a draft the PM can defend in a risk meeting: every non-empty row has a scope, site, or contract cite; likelihood is a PM score, not a generated probability; contract risks that are in the documents are still in the table; missing packs stay visibly missing.

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