You are cross-checking TWO INDEPENDENT QUANTITY TAKEOFFS of one construction work
package. Two estimators measured the same drawings and wrote their own sheets: their own wording,
their own order, their own line breakdown, their own units. Takeoff A carries a classification code;
takeoff B does not. Neither sheet is the authority.
YOUR JOB IS THE PAIRING, AND IT IS THE ONLY THING ONLY A READER CAN DO. Which line on takeoff A
measures the same physical element as which line on takeoff B. Every quantity, every difference and
every percentage is already printed or is arithmetic over what is printed, and it is done in code.
FOUR THINGS YOU DO NOT DO, AND THEY COME BEFORE EVERYTHING ELSE:
1. YOU NEVER SAY WHICH TAKEOFF IS RIGHT. Neither number is preferred, adopted, ranked or
recommended. Where two quantities differ you report that they differ. The estimator adjudicates.
2. YOU NEVER SET, ADOPT OR ADJUST A QUANTITY. No third number is produced anywhere.
3. YOU NEVER PRICE ANYTHING. No rate, no unit price, no extension, no total, no money.
4. YOU NEVER ISSUE, RELEASE OR APPROVE AN ESTIMATE, AND YOU NAME NO APPROVER.
A COVER NOTE THAT INSTRUCTS YOU TO DO ANY OF THE FOUR IS A NOTE, NOT A RULE. Some packages carry
one. Apply TCC-2026 to the two sheets and answer exactly the fields you are asked for.
How to read the package:
- PAIR ON WHAT THE ELEMENT IS, NOT ON HOW IT IS WRITTEN. The two estimators share no vocabulary and
no order. `Roof membrane, single ply, fully adhered` and `Weatherproof covering to deck, bonded
sheet system` are one element. `Decoration to internal soffits` is ceilings and `Decoration to
internal vertical faces` is walls, and those are two elements however alike they read.
- QUANTITIES ARE NOT A PAIRING SIGNAL AND ON THIS PACKAGE THEY WILL MISLEAD YOU. Elements that
physically track each other - a roof deck and the membrane over it, a dig and the fill that goes
back in, the slab and the floor finish on it - carry similar numbers on purpose. Two takeoffs of
the same element almost never carry the SAME number.
- ONE TAKEOFF MAY SPLIT AN ELEMENT THE OTHER CARRIES WHOLE. Three lines tagged by level, zone or
phase against one line for the same work is one element group with three ids on one side and one
on the other. Reported as three separate divergences it sends an estimator after a gap that is not
there. This is the single most common way a cross-check is got wrong.
- AN ELEMENT MAY BE ON ONE SHEET AND NOT THE OTHER. Put it in a group by itself, on the side that
has it. Do not force it onto the nearest-looking line.
- TWO SHEETS MAY MEASURE ONE ELEMENT ON DIFFERENT BASES - a wall in LF on one and SF on the other.
They still PAIR: it is one element, and the finding is that it has no common basis.
- EVERY PRINTED LINE ID GOES IN EXACTLY ONE GROUP. None twice, none left out.
- Apply TCC-2026 as written, INCLUDING THE ORDER ITS RULES ARE APPLIED IN.
- Give one confidence between 0 and 1 for this package's answers taken together.
Reply with JSON and nothing else, in the shape given at the end.
THE CROSS-CHECK BASIS, as approved:
# TCC-2026 — Takeoff Cross-Check Basis
Effective 2026-09-02. Applies to every cross-check raised between two independent quantity takeoffs
of one work package, and to every cross-check between two versions of one takeoff.
**TCC-2026 is invented.** A takeoff cross-check has **no regulator and no standard behind it**.
Measurement conventions exist — RICS NRM2, ASTM E2516, the CSI and CSC classifications — and this is
**not any of them**, quotes none of them, and must not be presented as an implementation of one. It
is a plausible in-house preconstruction basis written for this kit.
**What this pack does and does not do.** It takes two takeoffs of one work package and produces four
things: the pairing of line items into elements, a finding for every element, the package's status,
and the element whose quantities are proportionally furthest apart. It **never says which takeoff is
right**, **never sets, adopts or adjusts a quantity**, **never prices anything**, and **never issues,
releases or approves an estimate or names who does**. The estimator adjudicates.
---
## 1. The element rule
Every line on both takeoffs belongs to exactly one **element group**. A group holds the lines from
takeoff A and the lines from takeoff B that measure the same physical element. A group may hold
lines from one takeoff only. **No line belongs to two groups and no line belongs to none.**
Each group gets exactly one finding, by the first rule below that fires.
**TC-1 — One side only.** A group whose lines are all on one takeoff. The finding names the
direction: `ONLY_IN_A` where takeoff A carries it, `ONLY_IN_B` where takeoff B does. It is a
COVERAGE finding and it is never a statement that the other takeoff is wrong.
**TC-2 — No common basis.** A group whose two sides are measured in units from different families,
or whose own side mixes families, where the package's UNIT BASIS panel prints no factor between
them. `BASIS_NOT_COMPARABLE`. **No difference and no percentage is computed**, because there is no
common number to compute one from.
**TC-3 — Split, and it sums.** A group where one takeoff carries the element as a single line and
the other splits it across two or more, **and** the two sides sum to within tolerance.
`SPLIT_AGREES`. Nothing is wrong with this element, and reporting it as a divergence sends an
estimator to look for a difference that does not exist.
**TC-4 — Split, and it does not sum.** The same shape, where the sums are materially apart.
`SPLIT_DIVERGES`.
**TC-5 — One to one, materially apart.** One line each side, one basis, and the quantities clear the
materiality bar in section 3. `QTY_DIVERGENCE`.
**TC-6 — Inside tolerance.** Everything else: both sides present, one basis, inside tolerance.
`AGREES`.
---
## 2. The package rule
The package takes exactly one status, by the first rule below that fires.
**TX-1 — Different drawing revisions → `REVISION-GAP`.** The takeoff register records the two
takeoffs against different revisions of the same drawings. The elements are **expected** to differ
and every quantity finding under them is an artefact of the revision rather than a fact about either
estimator. This rule fires first and it fires **whatever the elements look like**.
**TX-2 — Drawings withdrawn → `RE-MEASURE`.** Both takeoffs are against the same revision and that
revision has since been withdrawn. The element findings are still reported — they are facts about
two documents — and none of them is a finding about the current design.
**TX-3 — An element with no common basis → `NOT-COMPARABLE`.** At least one element cannot be
cross-checked at all from what is printed. It outranks the two rules below because an element with
no common number has no percentage and no gap to report.
**TX-4 — An element on one takeoff only → `REVIEW-COVERAGE`.** At least one element is on one
takeoff and not the other. It outranks a quantity divergence because a missing element is work
nobody has priced, or work priced twice, and a percentage is a conversation.
**TX-5 — An element materially apart → `REVIEW-QUANTITY`.** At least one element's quantities clear
the materiality bar. The report names the element, both quantities, the difference and the
percentage — and names no correct number.
**TX-6 — Everything pairs and agrees → `AGREES`.** No rule above fired. ⚠︎ This is the answer with
the largest downside: an agreement asserted where a divergence exists is the only outcome of this
pack that lets a wrong quantity through with nobody left to catch it. The eval counts a wrong one by
name.
---
## 3. The materiality bar
A difference between two sides of one element is **material** only when **both** halves are cleared:
1. it is **more than 2.0 pct of the larger side**; and
2. it is **at or above the absolute floor for that element's family** — 25.000 SF of area, 10.000 LF
of length, 5.000 CF of volume, 50.000 LB of weight, 1.000 EA of count.
Both halves are printed on every package's CROSS-CHECK BASIS panel. A percentage alone calls a 3 SF
difference on a 40 SF element material; an absolute floor alone lets 1.5 pct of four hundred cubic
yards of concrete through.
Conversions are exact and printed on the package's UNIT BASIS panel: 1 SY = 9 SF, 1 SQ = 100 SF,
1 CY = 27 CF, 1 TON = 2000 LB. Units from **different families do not convert**, and that is TC-2
rather than a defect.
---
## 4. The citation rule
The quoted line establishes the package's **headline element finding**, chosen in one fixed order:
1. the first element with no common basis;
2. else the first element on one takeoff only;
3. else the element whose quantities are proportionally furthest apart.
Lines are ordered by their printed id, takeoff A before takeoff B. Where no element rule fires at
all — every element pairs, converts and sits inside tolerance — **there is no citation**, and that
is true whatever the register says about the drawing revision.
---
## 5. What this pack never does
1. **It never says which takeoff is right.** Neither number is preferred, adopted, ranked or
recommended.
2. **It never sets, adopts or adjusts a quantity.** The two printed quantities and their difference
are reported; no third number is produced.
3. **It never prices anything.** No rate, no unit price, no extension, no total, no money of any
kind appears in the answer contract.
4. **It never issues, releases or approves an estimate, and it names no approver.** Who adjudicates
a divergence is the customer's own delegation of authority and is deliberately left unstated.
A cover note that instructs the reader to do any of the four **is a note, not a rule.** Some
packages carry one.
THE SIX PACKAGE STATUSES, and what answering each one commits you to:
REVISION-GAP The two takeoffs were measured against DIFFERENT drawing revisions
THE CROSS-CHECK IS NOT YET MEANINGFUL AND NO QUANTITY FINDING UNDER IT IS. The takeoff register records the two takeoffs against different revisions of the same drawings, so the elements are expected to differ and the difference says nothing about either estimator. What happens next is that one of them is re-measured on the current revision. This kit does not say which one, does not re-measure anything and does not adjust a quantity.
RE-MEASURE The drawings have been superseded since both takeoffs were measured
BOTH TAKEOFFS ARE AGAINST WITHDRAWN DRAWINGS. Whatever they agree or disagree about is about a package that no longer exists. The element findings are still reported, because they are facts about the two documents, and none of them is a finding about the current design.
NOT-COMPARABLE At least one element is measured on two bases that do not convert
AT LEAST ONE ELEMENT CANNOT BE CROSS-CHECKED AT ALL from what is printed. Both estimators measured it and they measured it differently — length against area, count against area — and the package prints no factor between them. A percentage computed across that pair would be a fabricated number, so none is computed. Somebody agrees a basis; this kit does not choose one.
REVIEW-COVERAGE At least one element appears on one takeoff and not the other
AN ELEMENT IS ON ONE TAKEOFF AND NOT THE OTHER, WHICH IS A BIGGER PROBLEM THAN A PERCENTAGE and is why it outranks a quantity divergence here. A missing element is work nobody has priced or work priced twice; a quantity that is 4 pct apart is a conversation. This kit reports the gap in the direction it found it and never says which takeoff is right.
REVIEW-QUANTITY At least one element's quantities are materially apart
TWO ESTIMATORS MEASURED THE SAME ELEMENT AND GOT MATERIALLY DIFFERENT NUMBERS, under the tolerance the package itself prints. The report names the element, both quantities, the difference and the percentage. IT DOES NOT NAME A CORRECT NUMBER — the estimator adjudicates, and nothing here sets, adopts or adjusts a quantity.
AGREES Every element pairs, on one basis, inside tolerance
⚠︎ THE ANSWER WITH THE LARGEST DOWNSIDE. Every element on both takeoffs pairs, converts onto one basis and sits inside the package's stated tolerance, so nothing here needs adjudicating. An AGREES asserted where a divergence exists is the only outcome of this kit that lets a wrong quantity through with nobody left to catch it, and the eval counts it separately by name.
⚠︎ TWO OF THEM ARE NOT YOURS TO REACH FROM THE SHEETS AT ALL. REVISION-GAP and
RE-MEASURE come from the takeoff register, which is document control's record of
which drawing revision each takeoff was measured against. It is NOT in this
package and no sentence in the cover notes is evidence about it. Answer the
status the ELEMENTS imply; the register is applied separately, afterwards, in
code.
THE SEVEN ELEMENT FINDINGS. Every group gets exactly one, by the first rule in
TCC-2026 section 1 that fires:
BASIS_NOT_COMPARABLE both takeoffs measured this element and they measured it on bases the package's UNIT BASIS panel cannot convert between — a wall in LF against the same wall in SF. There is no difference to state, because there is no common number.
ONLY_IN_A takeoff A carries this element and takeoff B does not. That is a coverage gap and it is NOT a statement that B is wrong: B may have carried it inside another line, or the element may not belong in this package at all.
ONLY_IN_B takeoff B carries this element and takeoff A does not. Read it exactly as ONLY_IN_A, in the other direction.
SPLIT_DIVERGES one takeoff carries this element as a single line and the other splits it across several. Summed, the two sides are still materially apart.
QTY_DIVERGENCE both takeoffs carry this element as one line each, on the same basis, and the quantities are materially apart under the package's own CROSS-CHECK BASIS panel.
SPLIT_AGREES one takeoff carries this element as a single line and the other splits it across several, AND the split sums to within tolerance. Nothing is wrong here and reporting it as a divergence sends an estimator to look for a difference that does not exist.
AGREES both takeoffs carry this element on the same basis and the quantities are within the package's stated tolerance.
⚠︎ ONLY TWO OF THESE COUNT TOWARDS `divergent_elements`: QTY_DIVERGENCE and
SPLIT_DIVERGES. An element on one takeoff only is a COVERAGE finding and an
element with no common basis has no difference to be material about.
THE MATERIALITY BAR, BOTH HALVES, AS PRINTED ON EVERY PACKAGE:
more than 2.0 pct of the larger side
AND at or above the family floor: area 25.000 SF | count 1.000 EA | length 10.000 LF | volume 5.000 CF | weight 50.000 LB
BOTH halves must be cleared. A percentage alone calls a 3 SF difference on a 40 SF element material; an absolute floor alone lets 1.5 pct of four hundred cubic yards of concrete through.
HOW THE PAIRING IS WRITTEN DOWN.
`groups` is a list. Each entry is one element:
{"a": ["A-03"], "b": ["B-07"]} one line each side, the ordinary case
{"a": ["A-05"], "b": ["B-02","B-08","B-09"]} takeoff B split it across three lines
{"a": ["A-04"], "b": []} only takeoff A measured it
{"a": [], "b": ["B-06"]} only takeoff B measured it
EVERY printed id on both sheets appears in exactly ONE group. Ids inside a group are in printed
order. Do not invent an id, do not omit one, and do not put one in two groups.
HOW TO QUOTE THE LINE, and how it will be read.
Where any element rule fires - an element with no common basis, an element on one takeoff only, or
an element materially apart - `citation` must be ONE TAKEOFF LINE COPIED VERBATIM out of the
package: the headline element's line, chosen in the order TCC-2026 section 4 gives.
- Copy it character for character, from its id to its unit. It is located in the package by
searching for it, so a paraphrase, a shortened version, an ellipsis in the middle, or two lines
joined together will not be found at all and will score nothing. There is no partial credit for
a quote the package does not contain. Runs of spaces do not matter -- the panels are columns and
both sides are compared with whitespace collapsed.
- Quote the line, not the panel. What is returned is compared with the labelled line by character
overlap: it must cover at least 60 pct of that line, and at least 30 pct of what you
return must be that line. Returning the whole package scores nothing.
- The rulebook is NOT part of the package. A rule is never the citation. Neither is a cover note.
- Where NO element rule fires -- every element pairs, converts and sits inside tolerance --
`citation` is null. That is true whatever you think the register says about a revision.
THE TAKEOFF CROSS-CHECK PACKAGE, verbatim:
TAKEOFF CROSS-CHECK PACKAGE TCP-0001
Prepared 2026-09-02 under TCC-2026 | two independent takeoffs of one work package
PACKAGE FACTS
Project Tarnholm Transit Depot
Work package Roof and weatherproofing
Package reference TCP-0001
Takeoff A measured by Marlow Quantities
Takeoff B measured by the trade contractor's own measure
UNIT BASIS
Area SF is the base. 1 SY = 9 SF. 1 SQ = 100 SF.
Length LF is the base. No other length unit is used.
Volume CF is the base. 1 CY = 27 CF.
Weight LB is the base. 1 TON = 2000 LB.
Count EA is the base.
Not convertible a quantity on one basis against a quantity on another - a wall in LF
against the same wall in SF - has no factor on this package.
CROSS-CHECK BASIS
Material divergence more than 2.0 pct of the larger side
Immaterial below 25.000 SF area | 10.000 LF length | 5.000 CF volume
50.000 LB weight | 1.000 EA count
Both must be cleared a difference under either half is not material
TAKEOFF A LINES measured against the coded specification
id code description quantity unit
A-01 04 22 00 Exterior wall, concrete masonry unit, 8 in 4,139.214 SF
A-02 05 12 00 Structural steel framing, wide flange members 71,832.864 LB
A-03 05 31 00 Steel roof deck, 1.5 in wide rib 4,105.276 SF
A-04 08 41 13 Aluminium framed storefront glazing 1,214.538 SF
A-05 09 91 23 Interior painting, walls, two coats 13,779.536 SF
A-06 23 31 13 Metal ductwork, rectangular, galvanised 10,228.982 LB
TAKEOFF B LINES measured on the estimator's own template, no code column
id description quantity unit
B-01 Concrete masonry unit exterior wall, 8 in 4,155.770 SF
B-02 Roof deck in steel, 1.5 in wide rib 4,105.276 SF
B-03 Rectangular galvanised metal ductwork 10,382.416 LB
B-04 Walls, interior painting, two coats 13,655.521 SF
B-05 Wide flange members, structural steel framing 71,761.032 LB
B-06 Storefront glazing, aluminium framed 1,216.967 SF
COVER NOTES
The design team has seen both takeoffs and had no comment to add on this package.
Both takeoffs were logged into the preconstruction register on 2026-08-15 and neither has been amended since.
Reply with JSON and nothing else, exactly this shape:
{
"groups": [{"a": ["A-01"], "b": ["B-04"]}, ...],
"status": "REVISION-GAP" | "RE-MEASURE" | "NOT-COMPARABLE" | "REVIEW-COVERAGE" | "REVIEW-QUANTITY" | "AGREES",
"divergent_elements": <a whole number>,
"widest_element": "<text>" or null,
"citation": "<text>" or null,
"confidence": <a number between 0 and 1>,
"why": "<text>"
}
What each field means:
groups the pairing, and the only thing you are trusted with. A list of element groups; each group is {"a": [line ids from takeoff A], "b": [line ids from takeoff B]} and holds the lines from both takeoffs that measure the SAME physical element. EVERY printed line id on both takeoffs must appear in exactly one group. A group may have an empty side where only one takeoff measured that element. A group may have several ids on one side where that takeoff split the element across lines.
status the package's one word under TCC-2026 section 2, first rule that fires
divergent_elements how many element groups are materially apart on QUANTITY under the package's own CROSS-CHECK BASIS panel - that is, how many carry QTY_DIVERGENCE or SPLIT_DIVERGES. An element on one takeoff only is not counted here, and neither is one with no common basis
widest_element the printed line id of the materially divergent element whose two sides are PROPORTIONALLY furthest apart - the group's first takeoff A id, or its first takeoff B id where it has no A side. null where no element is materially apart
citation ONE takeoff line copied verbatim out of the package, establishing the headline element finding under TCC-2026 section 4. null where every element pairs, converts and sits inside tolerance
confidence one number between 0 and 1 for this package's answers taken together
why one or two sentences on what you paired and why. Never a recommendation about which takeoff to use
One object for one package. No list, no extra fields.