Skip to main content

August 25, 2026 · 5 min read · Patrick Keating, Founder

What Changed Between Plan Sets: Version Compare for Small Builders

The short version: SpecAlign compares every new plan-set version against the one before it, automatically, the moment it's uploaded. Four layers catch what changed: a zero-AI text diff, an AI read for wording a text diff misses, a page-by-page drawing overlay for geometry that moved with no note anywhere, and a spec diff on the room data itself. Every flagged item tracks who's seen it and who's acknowledged it, and rolls up against the POs, selections, and schedule tasks tied to that room.

A garage header moves four inches between two reissues of the same sheet. No revision cloud circling it. No line in the title block calling it out. Same forty-one pages as the set before. Somebody has to notice, and on most reissue mornings the person who'd notice is buried in six other things.

That's not a rare failure mode. Half of rework traces back to a change that existed on paper somewhere and never reached the person building from it, and a plan-set reissue is one of the most common places that gap opens.

How does a comparison actually run?

Four layers, run in the same pass, each catching something the others can't.

Layer What it catches AI tokens
Text diff Wording added, removed, or reworded on a page None
AI read Phrasing changes a plain text diff can't parse cleanly Some
Visual overlay Geometry that moved on the drawing with no callout Only on gated page pairs
Spec diff A room attribute that changed in the extracted data itself None

Text and spec diffs cost nothing in AI tokens because they're set comparisons over data SpecAlign already has. The spec diff in particular runs against the same structured room data SpecAlign's extraction pipeline already writes off every plan set, keyed off room and attribute, not off pixels. A cabinet finish that changes from painted to stained shows up as a diff on that record, whether or not the drawing itself carries a visible note.

Noise gets filtered before it reaches anyone. A revision stamp bumping from R3 to R4, a date in a title block, those persist in the record but stay hidden by default. Nobody needs to see forty of those to find the one real change.

What happens when the drawing itself moved, not just the words?

This is the gap a text diff can't touch, because there's no text there to diff.

Every page pair that lines up with confidence gets a region-level image comparison, and the result writes a red-blue overlay showing exactly which regions changed, capped at four flagged regions per page. Cap it lower and a genuinely busy page gets under-flagged. Leave it uncapped and every reissue turns into a hundred boxes nobody opens.

A page pair that can't be aligned confidently doesn't get a false flag either. It gets counted as misregistered, and the whole comparison still finishes, landing as "some pages need a look" instead of quietly skipping the page or blocking the report for every other page that compared fine.

How do you know a flag ever reached anyone?

Sending a reissue and having someone actually look at it are two different events, and only one of them protects a GC in an argument later.

Every flagged change on a comparison tracks per person: a timestamp for when it was viewed, a separate one for when it was acknowledged. The first view stamps automatically. Acknowledgment is a deliberate action, and the first stamp holds even if someone opens it again later. For a sub who doesn't log into the platform, a comparison exports to PDF or CSV, so a printed page still carries the same flagged items a person can hand over on site.

Does a flagged change touch the budget, or just sit on a screen?

It surfaces the connection. It doesn't move money on its own.

For every room a comparison touched, SpecAlign lists the purchase orders, selections, schedule tasks, and estimates already linked to that room through the same entity links the rest of the platform runs on, not a fresh guess. A wall move on one sheet might surface two linked POs and a schedule task in the same list. Nothing there gets rewritten automatically. A person still decides what changes and what doesn't, the same recheck plan revision control calls for as its own step, just handed over already found instead of left for someone to go dig up at a draw request.

What you do today With SpecAlign Enabler
Reread the whole reissued set to find what moved Only pages that changed get flagged, across text, drawing, and spec data Read: every page hashed and structured the moment it's uploaded
Guess whether a sub actually saw the change A separate viewed and acknowledged timestamp per person Compare: each new version diffed against the one before it, automatically
Chase down which PO or task a change affects Linked purchase orders, selections, and tasks surfaced by room Act: impact listed against real records, not rewritten by a guess

That's the same read, compare, act pattern behind how SpecAlign works across the whole platform, pointed at the plan set itself instead of one module of it.

The PM tool you already pay for gives you a version history nobody opens. It won't tell you what changed on sheet A-204, and it has no idea a header moved four inches between two reissues of the same set.


Sources

  • Dodge Construction Network, "Not by Design" (2024): only 11% of field staff always have the information they need to do their job; 33% of quality issues root-caused to coordination
  • SpecAlign product capability: layered version comparison (text diff, AI semantic read, page-level visual overlay, spec delta), page hashing, automatic trigger on every new document version
  • SpecAlign product capability: per-user acknowledgment tracking (viewed vs. acknowledged timestamps), impact rollup linking a changed room to its purchase orders, selections, schedule tasks, and estimates
  • SpecAlign time-reclaimed model, leg 7: change-order and revision admin modeled at roughly 2 hours a week on an active build, about 1 hour modeled back once version-to-version comparison runs automatically

The garage-header example illustrates a common pattern, not a specific job. The Dodge figure is industry-wide, not residential- or SpecAlign-specific. SpecAlign's own time figures are modeled estimates with a stated methodology, not measured customer outcomes.

Frequently asked questions

How do I know what actually changed in a reissued plan set without rereading all forty pages?
You don't reread the set. Every page gets hashed on upload, and a reissue gets compared page by page against the hashes from the version before it. Only pages that actually changed get flagged, four separate ways: a text diff catches wording, an AI read catches phrasing a text diff misses, a page-by-page overlay catches geometry that moved with no note anywhere, and a spec diff checks the room data already extracted off the set. A page identical to the last version doesn't show up in the list at all.
Does it catch a wall or window that moved on the drawing if nobody wrote a note about it?
That's the specific gap a text diff can't close, since there's no text to diff, just geometry. SpecAlign runs a region-level image comparison on every page pair that lines up confidently, and writes a red-blue overlay showing exactly what moved, capped at four flagged regions per page so the list stays usable instead of turning into a hundred boxes. A page pair that can't be aligned confidently doesn't get a false flag either. It gets counted as misregistered, and the comparison lands as 'some pages need a look' instead of silently skipping it.
Who's on the hook if a sub frames off a set that already had a flagged change sitting there unread?
The record answers that instead of leaving it to memory. Every flagged change tracks two separate timestamps per person: when someone opened it, and when they acknowledged it. A flag that sat in a queue nobody opened looks nothing like one a sub viewed and confirmed, and that difference is exactly what a back-charge argument turns on. Sending a reissue and having it seen are two different events. Only the acknowledgment record proves the second one happened before the cut.
Does a flagged change actually touch the budget and my POs, or is it just a highlight on a drawing?
It surfaces the connection. It doesn't rewrite your numbers for you. For every room a comparison changed, SpecAlign lists the purchase orders, selections, schedule tasks, and estimates already linked to that room, so you see what a change might affect before you find out at a draw request. Nothing gets auto-adjusted; a wall move flags four linked line items, and a person decides what to do with each one. SpecAlign surfaces the impact. A GC still owns the call.
How much office time does comparing plan set revisions actually cost, and how much comes back?
SpecAlign's time-reclaimed model puts change-order and revision admin, documenting a reissue and cascading it to budget and schedule by hand, at roughly 2 hours a week on an active build, with about 1 hour modeled back once version-to-version comparison runs automatically. That's a modeled estimate with a stated methodology, not a measured result. The real cost isn't the two hours. It's the reissue nobody compares at all because the two hours never showed up on a given week.

Patrick Keating, Founder

Patrick Keating is the founder of SpecAlign, building AI construction intelligence for custom home builders.

Catch it on paper, not in the field.

See what SpecAlign catches on your next plan set.

Questions? sales@specalign.ai