AgGrow Oils L.L.C. (AgGrow) hired T.E. Ibberson Company (Ibberson) to design and build an oilseed processing plant in Carrington, North Dakota. Ibberson’s performance as general contractor was secured by a bond issued by National Union Fire Insurance Company of Pittsburgh (National Union). Anderson International Corporation (Anderson) supplied critical seed processing equipment. Despite lengthy efforts to solve numerous problems, the completed plant was unable to meet promised performance levels and closed. This complex litigation followed.
Following an interlocutory appeal to resolve arbitration issues, AgGrow Oils L.L.C. v. Nat’l Union Fire Ins. Co. of Pittsburgh, PA 242 F.3d 777 (8th Cir.2001), the parties agreed that all disputes would be heard initially by a panel of special masters, whose findings of fact would be final. After nine days of testimony, the masters issued their Report, and all parties filed objections. In a thorough *753opinion, the district court1 modified some conclusions of law, adopted the masters’ ultimate recommendations, and ordered that Ibberson and National Union are jointly and severally liable to AgGrow in the amount of $2,578,840.53 and Anderson is jointly and severally liable to AgGrow for $900,794.20 of Ibberson’s and National Union’s total liability. AgGrow Oils L.L.C. v. Nat’l Union Fire Ins. Co. of Pittsburgh, PA, 276 F.Supp.2d 999 (D.N.D.2003). National Union and Anderson appeal. We affirm.
I. National Union’s Appeal.
The special masters found that National Union issued a bond guaranteeing Ibber-son’s performance on the AgGrow project, that Ibberson breached its contract with AgGrow, that “[t]he performance bond issued by National Union was properly invoked by AgGrow,” and therefore that National Union is jointly and severally liable with Ibberson for project costs incurred by AgGrow as a result of the breach. The district court then ruled that National Union is also jointly and severally liable for AgGrow’s consequential damages (lost profits), making Ibberson and National Union jointly and severally liable for Ag-Grow’s entire $2,578,840.53 recovery.
On appeal, National Union argues it is not liable on the performance bond because the evidence establishes that Ag-Grow never properly invoked the bond, despite the special masters’ finding to the contrary. Specifically, National Union argues that the district court lacked “jurisdiction” to find that National Union waived compliance with certain bond conditions precedent — that AgGrow as project owner must declare Ibberson’s default, formally terminate Ibberson’s right to complete the contract, and agree to pay the balance of the contract price to National Union or to a contractor selected to perform the contract. Alternatively, National Union argues that waiver is an issue of fact and the district court erred in summarily deciding the issue without notice to National Union and an evidentiary hearing.
At the time the parties consented to appointment of the special masters, Rule 53(e)(4) of the Federal Rules of Civil Procedure provided that, “when the parties stipulate that a master’s findings of fact shall be final, only questions of law arising upon the report shall thereafter be considered.”2 In a breach of contract action, whether a condition precedent to performance of the contract has been satisfied is an issue of fact, not an issue of law. See Glatt v. Bank of Kirkwood Plaza, 383 N.W.2d 473, 480 (N.D.1986); Reynolds v. Ashabranner, 212 Ark. 718, 207 S.W.2d 304, 307 (1948). Here, the special masters made the requisite ultimate finding — “[t]he performance bond ... was properly invoked.” The special masters were not required to make subsidiary findings explaining how each condition precedent to National Union’s obligations under the bond was satisfied. As this is entirely an issue of fact, Rule 54(e)(4) makes it unre-viewable by this court or by the district court. See Gilbane Bldg. Co. v. Fed. Reserve Bank of Richmond, 80 F.3d 895, 905 (4th Cir.1996). Thus, we need not review the district court’s ruling as to waiver.
Alternatively, we agree with the district court’s resolution of this issue. The special masters specifically found that, during the negotiations when AgGrow de-*754dared Ibberson in default, “National Union ... advised AgGrow that Ibberson had ‘completed its work’ ” and that “National Union declined to complete performance under the Contract.” The district court reasoned that these findings were sufficient to support the ultimate finding that the bond was properly invoked because National Union’s unequivocal declarations rendered compliance with the additional bond conditions a “useless formality.” This analysis is consistent with the factual record and is in accord with North Dakota law. See Fargo Pub. Library v. City of Fargo Urban Renewal Agency, 185 N.W.2d 500, 505 (N.D.1971). National Union’s suggestion that the district court’s decision was an unfair surprise is without merit.
For these reasons, the district court’s judgment holding National Union liable on the bond must be affirmed.
II. Anderson’s Appeal.
The special masters found that the contract between general contractor Ibber-son and supplier Anderson included a written guarantee by Anderson that, if its expander and expeller equipment received properly prepared oilseeds, the equipment would process 200 tons of seed per day and produce “expeller cake” containing only 5-8% residual oil. Rejecting Anderson’s claim to the contrary, the special masters found that Anderson’s equipment “did not perform adequately to produce the guaranteed levels for these oilseeds even when the oilseeds provided to the Anderson equipment were in substantial conformity with stated specifications.” The special masters further found that Anderson breached a duty to cooperate and that Anderson agreed to indemnify Ibberson for losses arising from these breaches. Accordingly, the masters recommended that Anderson be jointly and severally liable for thirty percent of AgGrow’s costs to complete the plant and forty percent of AgGrow’s lost profits. However, the special masters concluded that AgGrow was barred from recovering directly from Anderson by lack of privity and the economic loss doctrine.
The district court concluded: (i) the contract between Ibberson and Anderson included production guarantees and a duty to cooperate; (ii) the special masters’ findings that Anderson breached these provisions are unreviewable findings of fact; (iii) under § 2-207 of the Uniform Commercial Code as adopted in North Dakota, N.D. CENT. CODE § 41-02-14, the contract did not contain a promise by Anderson to indemnify Ibberson; but (iv) Anderson is directly liable to AgGrow as a third party beneficiary of the Ibberson— Anderson contract under N.D. CENT. CODE § 9-02-04. Accordingly, the court adopted the special masters’ recommendation that Anderson is jointly and severally liable for $900,794.20 of Ibberson’s total liability to AgGrow.
On appeal, Anderson first argues that the special masters and the district court misread the Ibberson' — -Anderson contract by deriving production guarantees and a promise to cooperate from provisions in the sales contract that instead defined duties of Ibberson to Anderson. We disagree. As the district court noted, the terms of the contract must be determined in accordance with UCC § 2-207(3), N.D. CENT. CODE § 41-02-14(3), because it arose by reason of the parties’ performance, rather than by a written agreement. We agree with the district court that the contract proposals exchanged by the parties, though inconsistent in other respects, were consistent with regard to both the production guarantees, which were express warranties by Anderson under UCC § 2-*755313, N.D. CENT. CODE § 41-02-30, and Anderson’s duty to cooperate in achieving those guarantees. Thus, the district court correctly concluded that these terms were part of the contract as a matter of law. Alternatively, if defining the terms of a contract that is inherently ambiguous under UCC § 2-207 is an issue for the fact-finder in North Dakota, then the special masters’ resolution of this issue was of course final and unreviewable under Rule 53(e)(4).
Anderson next argues it is not liable for breach of the production guarantees because the plant never delivered oil-seeds to the Anderson equipment that met the required contract specifications. This is a question of fact under Rule 53(e)(4). Anderson argues we may nonetheless review the masters’ adverse findings because a finding of fact that lacks any evidentiary support is an error of law. We are skeptical of this blatant attempt to avoid the parties’ stipulation that the masters’ fact findings would be final. But in any event, as Anderson has not included in the record on appeal the entire fact record before the special masters, we cannot review the highly dubious assertion that there was no evidence to support the finding that Anderson’s equipment failed to meet its production guarantees even when the plant was able to deliver conforming oilseeds to that equipment. Therefore, even if the district court erred in failing to consider this purported issue of law, we decline to consider the alleged error because we cannot determine whether it was harmless.
Finally, Anderson argues that, even if it did breach its contract with Ibberson, the district court erred in holding Anderson directly liable to AgGrow as a third party beneficiary of the contract because the special masters made no finding that AgGrow was an intended third party beneficiary. The special masters’ Report did not discuss the third-party beneficiary issue. But that is irrelevant. Though the inquiry is fact intensive, numerous Supreme Court of North Dakota decisions establish that the ultimate third party beneficiary determination is an issue of law. See First Fed. Sav. & Loan Ass’n of Bismarck v. Compass Inv., Inc., 342 N.W.2d 214, 219 (N.D.1983) (“We conclude that as an incidental beneficiary ... First Federal has no right to enforce”); Apache Corp. v. MDU Res. Group, Inc., 603 N.W.2d 891, 894 (N.D.1999) (“we conclude the trial court did not err in concluding Apache was not a third-party beneficiary”); O’Connell v. Entm’t Enters., Inc., 317 N.W.2d 385, 388 (N.D.1982) (we “conclude that O’Connell was merely an incidental beneficiary”). Thus, the district court properly considered and decided the third party beneficiary issue of law de novo, based upon the special masters’ findings and other relevant undisputed facts in the record.
Under North Dakota law, “[a] contract made expressly for the benefit of a third person may be enforced by him,” N.D. Cent.Code § 9-02-04. However, “a party only incidentally benefited by performance of a contract is not entitled to maintain an action to enforce it.” Hellman v. Thiele, 413 N.W.2d 321, 325 (N.D.1987). In deciding whether a third party is only an incidental beneficiary, the Supreme Court of North Dakota looks to the intent of the contracting parties, which it determines from extrinsic evidence as well as from the four corners of the written contract when, as here, the contract is ambiguous. First Federal, 342 N.W.2d at 217; O’Connell, 317 N.W.2d at 388. In this case, Anderson promised that its equipment would meet production guarantees that Ibberson had warranted to Ag-Grow. “In such cases, if the beneficiary [AgGrow] would be reasonable in relying *756on the promise [to Ibberson] as manifesting an intention to confer a right on him, he is an intended beneficiary.” Restatement (Second) of Contracts § 302 cmt. d (1979).
Viewing the entire record, we agree with the district court that AgGrow was an intended third party beneficiary entitled to enforce Anderson’s express production guarantees in the Ibberson — Anderson contract. The special masters made the following findings relevant to this issue:
• Prior to the formation of AgGrow, Anderson contracted with North Dakota State University (NDSU) to prepare an engineering package for a mechanical oilseed processing facility, working with John Gardner, a research agronomist at NDSU’s Experiment Station in Carring-ton who later became the general manager of AgGrow.
• AgGrow was then formed and decided to enter into a design/build contract with a single firm. Before contracting with Ibberson, AgGrow told Ibberson that AgGrow had chosen Anderson to provide the essential plant equipment. Ibberson touted its familiarity with Anderson equipment.
• Ibberson entered into a purchase' agreement based on Anderson’s February 4, 1997 proposal, which included Anderson’s production guarantees. Ag-Grow entered into the design/build contract with Ibberson on May 22, 1997. Anderson’s guarantees were “the critical elements in the viability of AgGrow’s plan for processing oilseeds” and were “instrumental” in the selection of Anderson as equipment provider.
• Anderson’s proposal to Ibberson contained a flow chart of the plant containing the same elements as the flow chart Anderson previously submitted directly to AgGrow, demonstrating that Anderson “was not merely a seller of goods but provided extensive engineering requirements and parameters that were integral to the engineering for the entire process.”
• Anderson’s engineering and performance commitments created a duty to cooperate in the effort to attain the production guarantees following the plant’s start-up.
In addition, the district court noted that the front cover of Anderson’s formal proposal to Ibberson identified the AgGrow Oils Project, that Anderson’s letter accompanying that proposal referenced the Ag-Grow Oils Project, and that the proposal included a flow chart describing the planned operation of the AgGrow Oils plant.
In many (perhaps most) construction contract situations, the project owner will not be an express third-party beneficiary who may directly enforce warranties made by subcontractors or suppliers to the general contractor. See Restatement (Second) of Contracts § 302 cmt. e, illus. 19. But this is not a typical situation. Anderson dealt directly with AgGrow before Ibberson was retained as general contractor, and both Anderson and Ibberson knew the production guarantees were critical to the economic success of the project. The guarantees related to the post-completion operation of the plant by AgGrow, and their attainment was likely to require both Anderson’s and Ibberson’s cooperation. In these circumstances, well documented in the special masters’ findings, the record supports the district court’s conclusion that AgGrow may directly enforce the production guarantees as an express third-party beneficiary under § 9-02-04, whether the focus is the intent of the contracting parties, or the reasonable understanding of the third party, AgGrow.
*757The judgment of the district court is affirmed.