The pouring plan is the one date on a construction site that does not move. This holds every pour against the approvals that must exist before it, and warns you while there is still time to chase.
Import the pouring plan you already keep — or paste it out of the spreadsheet. Every pour and every watched installation activity is set against the shop drawings and material submittals that must be approved before that date. You choose how many days early you want to be told; from then on the board answers one question, every morning: what is coming, and is the paperwork ready for it.


This is the part that is easy to get wrong and dangerous to fake. Location tokens are read from the pour and from the document by the SAME extractor — L21, B2, Zone A, Podium, Roof — so a match is a real overlap of words, not a guess. Then the kind of event decides what counts: a concrete pour needs the drawings that carry the cast obligation, while an installation needs the material submittals for the systems it names. Every row shows the reasoning that produced it, so you can disagree with it.
An engineer who links a drawing to a pour by hand is stating a fact the software cannot infer. That link is kept. Re-import the revised pouring plan next month and the human decisions ride through it untouched; only the dates and the machine matches are recomputed. The same is true of a dismissal: tell it that a pour needs nothing and it stops asking.

Everything the board does, plainly.
"The field" is the usual toolchain — the per-user construction cloud and the separate applications around it. Good tools; the difference here is one integrated record, on your own server.