The same record and the same situation produce the same verdict every time, and a verdict is only worth reading because it fails closed rather than in the venue's favour. Those are claims. A claim nobody can check is a slogan, so here is the whole thing — the arithmetic, the constants, and the file that implements each one.
A rulebook says how a record is read. It says nothing about how much record there is, and on that the honest answer is: not much, and here is exactly how much — the state of the record publishes our own coverage numbers and what happens when a venue sends a document.
26
rules published
23
of them our position
6
judgements, kept out
Two kinds of number, kept apart
Calling everything a rule would be the fastest way to lose this argument. The first person to ask why a multiplier is 0.8 would decide the rest of the book is the same thing wearing a formula, and they would be wrong — but that is the inference they would draw.
Computed
A comparison or a piece of arithmetic. Nothing to trust us about: more guests than the drawn layout holds is more guests than the drawn layout holds. 3 of the 26 rules here are this.
Stated position
Deterministic in the code, but the constant or the policy is a judgement rather than a fact — the last eight percent of a room, two blockers, half a point for something a person said. Published with the number and the reasoning so you can disagree with it precisely.
No rule here cites an outside authority, because there is no published standard for how many people fit in a barn or for when a sentence on a marketing page becomes a fact. The third kind of number — taste — is deliberately absent, and is listed at the bottom so you can see exactly what is being kept out.
Evidence
What class a piece of information is held at, and what that class is allowed to do.
Every line on a brief carries which of four things it is. Nothing on this site is presented at a confidence it does not hold.
documented — the venue issues it in writing
stated — someone at the venue said it
patterned — the typology behaves this way, or the venue's own copy says so
absent — no source of any class addresses it
Needs
The source class recorded against each finding
Where you meet it
Any finding, anywhere · Sources and confidence · Record depth
Our position
Our position. A record that holds a licence and a record that holds a phrase off a home page are not the same record, and one label covering both would make the stronger one worthless. The classes never average and never combine into a single grade.
What it does not claim
Documented is the strongest class this instrument holds and it is still not a promise about your date. A document describes practice at the time it was written.
If nobody has answered something, the brief says nobody has answered it. It is never filled in from the venue type, from a similar property, or from what would be normal.
no source of any class addresses the point → status unknown, source not-established
Needs
Which layers the record actually speaks to
Where you meet it
By topic · Capabilities not established · Still to confirm with the venue
Our position
Our position, and the one the rest of the book rests on. A blank field is the most common thing in this catalogue, and the cheapest error available is to read it as a yes.
What it does not claim
An absence is not a finding against the venue either. It says this instrument does not know, which is a different thing from the venue lacking it.
The share of what is on file that is actually attributable to the venue. A high number means the record is well sourced, not that the venue is good.
readiness = round(((documented + stated x 0.5) / findings) x 100)
Needs
Confidence class of every finding on the record
Where you meet it
Information on file · Record depth · Comparison matrix
Our position
Our position. Documented counts whole because it survives the person who said it; stated counts half because it does not; patterned and absent count nothing, because a typology and a blank are not evidence about this property.
What it does not claim
It measures the record, not the room. A venue nobody has asked much about can score the same as one that answered everything, if both were asked little.
src/lib/venues/evidence.ts:93-95
A finding with no authored trail gets a derived one
Our position. Records authored before the evidence model still have a source class, and mapping it downward is honest where inventing an observation would not be. Marketing copy maps to patterned, never higher.
What it does not claim
A derived trail carries no observation the venue made. It is labelled as derivation everywhere it appears.
Nothing here is ever rounded up. A figure you read is a floor.
pct = floor((documented / findings) x 100)
Needs
Documented findings · Total findings
Where you meet it
Provenance reading · Record depth
Our position
Our position. Rounding half upward would report a record with 49.6% documented evidence as half documented, and every rounding on this site would then be one that flatters the record.
Switch to first-party only and almost nothing survives. That is the state of the record, not a fault in the filter.
mode = first-party → keep findings where source = first-party, withhold the rest · capabilities kept only where provenance = documented · usableSeated / usableStanding kept only where a first-party capacity finding exists · readSeated / readStanding = null
Needs
Evidence mode · Source class of every finding · Capability provenance
Where you meet it
Evidence sources counted · Every brief, when the mode is on
Our position
Our position. A strict reading has to remove things, not reinterpret them: everything it declines returns as an open question rather than as a negative finding.
What it does not claim
No figure on a record is pinned to a single source, so the capacity test is the honest one available: does any first-party finding on this record address capacity at all.
src/lib/evaluation/depth.ts:268-299
Capacity
How many people a room is established to hold, and what happens when nobody knows.
A number a venue publishes about itself never becomes the number this instrument sizes your event against.
layout proved it → usableSeated / usableStanding
venue published it → readSeated / readStanding
neither is ever copied into the other
Needs
Where the figure came from
Where you meet it
Capacity by format · Quick facts · Every room on record
Our position
Our position. A posted figure is the room as described by the party trying to let it. The field named usable means a drawing with service aisles and egress paths on it established the number, and a pass is only ever read from that field.
What it does not claim
A read figure still carries the sentence, the page and the date it was read, so it can be judged. It is visible; it is not authoritative.
Sitting inside the top eight percent of a room's usable figure is flagged as tight rather than blocked — it can work, and any late change removes the margin.
guests > usable x 0.92 → blocker capacity-tight
Needs
Your headcount · The layout-proven figure for your format
Where you meet it
Quick facts · Blockers · Capacity by format
Our position
Our position. A usable figure is an estimate carrying furniture, service routes and a fire officer's opinion, and the last eight percent of it is the part that disappears when four people are added or a band takes a corner.
What it does not claim
Tight is the only blocker excluded from the verdict arithmetic (VERD-01). It is a warning about your headcount, not a finding about the room.
src/lib/evaluation/engine.ts:210-217
A published figure can contradict a headcount, never clear one
A room sized only by its own website is unmeasured, not sized. Either way it cannot qualify.
no usable figure and a read figure exists →
guests > read → blocker capacity-read-exceeded
guests <= read → blocker capacity-read-only
both also raise an unknown capacity finding
Needs
Your headcount · The figure read off the venue's own pages
Where you meet it
Quick facts · Blockers · Capacity by format
Our position
Our position, and the asymmetry is deliberate. Sitting under a marketing number establishes nothing, because the number was written to be attractive. Sitting over one is a contradiction the venue has published about itself, and worth naming.
If nobody has established how many people fit, the brief says so and the room does not qualify for your headcount.
usable = null and read = null → blocker capacity-unknown
Needs
The capacity fields on the record
Where you meet it
Quick facts · Blockers · Every room on record
Our position
Our position. Most of this catalogue arrived from a mapping listing with no capacity of any class, and the alternative to blocking is guessing from the venue type.
src/lib/evaluation/engine.ts:246-254
Capability
What clears something you marked as required, and what withdraws a claim.
A hard constraint clears only on documented or stated
Marking something as required means a claim about it has to be attributable. A yes nobody is attached to reads as a question, and a question is conditional rather than qualified.
constraint required and capability asserted →
provenance in (documented, stated) → cleared
otherwise → blocker, plus an unknown finding recording that it is asserted rather than established
Needs
Your hard constraints · The record's capabilities · Capability provenance
Where you meet it
Blockers · Arrival to leaving · By topic
Our position
Our position. The list of capabilities records that something was asserted, not who asserted it. The reason a constraint exists — one unestablished step on the guest route can exclude people you invited — is not answered by a sentence on a marketing page.
What it does not claim
Stated clears a constraint and is still only what someone said. The brief asks you to get it in writing in the same breath.
src/lib/evaluation/engine.ts:128-183
A capability read off the venue's own pages is stamped patterned
Reading a venue's website makes a claim visible and attributable. It does not make it true, and it never clears a hard constraint on its own.
site copy establishes or confirms a capability → capabilitySources[capability] = patterned
capability the pass never reached → left out of the map, which reads as unknown
Needs
Copy captured from the venue's own site · The capability the phrase names
Where you meet it
Capability source · Blockers · Sources and confidence
Our position
Our position. A venue's own page is the venue talking about itself: quotable, dated, and still a claim. Being absent from the provenance map means no source of any class was recorded, which is weaker still and is not the same thing.
Where a venue's page says it is not accessible and the record said it was, the record loses the claim and the brief says which way it went.
site copy denies a capability the record asserted → capability removed, recorded as contradicted and marked withdrew
Needs
Copy captured from the venue's own site · The capabilities the record holds
Where you meet it
Capability source · Capabilities not established
Our position
Our position. Six hundred records carried an identical seeded trio of step-free route, accessible restroom and on-site parking that no source ever established. An unevidenced yes that the venue itself denies is worse than a blank: it is the one kind of error this instrument exists to avoid.
What it does not claim
A withdrawal is not a finding that the venue lacks the thing. It removes an assertion this instrument should never have carried.
If you said you need no stairs, a record asserting stairs blocks — even where the assertion is weak.
constraint is negated and the capability is asserted at any class → blocker
Needs
Your hard constraints · The record's capabilities
Where you meet it
Blockers
Our position
Our position. Where the requirement is that something is not the case, an assertion of any class is the thing the constraint exists to avoid, so it blocks whatever carried it.
src/lib/evaluation/engine.ts:133-144
Verdict
How blockers become qualified, conditional or obstructed, and how rooms are ordered.
Qualified means nothing on record contradicts what you described. It does not mean the room is confirmed, and open questions still remain on a qualified record.
hard = blockers excluding capacity-tight
hard = 0 → qualified
hard <= 2 → conditional
hard > 2 → obstructed
Needs
Every blocker raised against this situation
Where you meet it
Quick facts · Rooms list · Comparison matrix
Our position
Our position. Two open items are a conversation with a venue; three is a different venue. Qualified requires nothing outstanding at all, which is why it is rare.
What it does not claim
The count is of blockers, not of their severity. Two heavy blockers and two trivial ones both read as conditional, which is why the blockers are printed in full underneath.
Well under the usual booking window for this kind of venue raises a blocker. It is not a statement that the date is unavailable.
leadWeeks < typicalLeadTimeWeeks x 0.6 → blocker lead-time
Needs
Your lead time · The typical booking pattern recorded for the venue
Where you meet it
Blockers · Planner intelligence
Our position
Our position. Compressing a booking pattern by up to forty percent is a hurry; past that the vendor and permit chains behind the venue start to compress too, and they are the part nobody warns you about.
What it does not claim
The typical lead time is a property of the record, and on most records it is not established at all — in which case this rule never runs.
Our position. The gaps between the verdict bases are wide enough that no amount of thin evidence can lift an obstructed record above a conditional one — ordering within a verdict is a convenience, ordering between verdicts is a rule.
What it does not claim
Two rooms a few points apart are not meaningfully different. The order is a reading queue, not a scoreboard.
src/lib/evaluation/engine.ts:351-356
Weighting
What your situation changes about the order, and what it never changes.
How heavily each class of finding pulls on the order things are shown in.
fail-closed 40 · watch 16 · unknown 12 · known 2
Needs
Finding status
Where you meet it
What still needs confirming · By topic · Impact marks
Our position
Our position. An unknown sits close to a watch on purpose: not knowing whether a room has a curfew is nearly as expensive to your evening as knowing it has a difficult one. A known item still carries weight, because it still has to be restated in writing.
Your situation changes the order findings appear in. It never changes what they say or how strong their source is.
weight = STATUS_WEIGHT[status] x (1 + hits x 0.8)
hits = tags on the finding your situation engages
Needs
Finding status · Finding tags · Your occasion, priorities and constraints
Where you meet it
What still needs confirming · Why this is here
Our position
Our position. Each thing you said about your evening raises a related finding by eighty percent of its base weight, which is enough to bring it to the top of a long list and not enough to let three soft matches outrank one fail-closed item.
What it does not claim
A finding nothing in your situation touches is carried at base weight, which is not the same as it being safe.
The questions on a brief are generated from what is unresolved, so the count under them cannot disagree with the list above them.
questions = blocker questions + one per finding with status != known
finding with no authored question → its label becomes one
de-duplicated, first 8 shown
Needs
Blockers · Every finding not held as known
Where you meet it
Ask before booking · Site visit checklist
Our position
Our position. This once took only findings carrying an authored question, so a record could report eight unanswered items and then head a section “Ask these next: 0”. The cap at eight is a limit on what fits on a site visit, not on what is open.
What it does not claim
Eight is what is printed. The full set of open items is in the brief above it, and is usually longer.
src/lib/evaluation/engine.ts:339-349
Record
What a record is allowed to infer about itself when nothing was supplied.
Where a record has nothing of its own, you get what is typical of the type, explicitly labelled as typical and counted as an open question.
record carries no first-party or operator statement →
one finding per layer, status unknown, source third-party, confidence patterned
Needs
The venue type · Whether the record holds any statement of its own
Where you meet it
By topic · What still needs confirming
Our position
Our position. What barns are usually like is real information and it is not information about this barn. Holding it at unknown keeps the engine failing closed while still telling a planner what to expect to have to ask.
What it does not claim
The pattern text itself is editorial — see what is deliberately not a rule, below.
src/lib/venues/patterns.ts:123-148
An inferred typology is an open field, not a claim
Where the venue type was worked out from the name rather than from a venue document, the brief says so and lists it among the things to confirm.
venue type inferred from the record name → openFields gains “Venue typology” and the provenance line says the type was inferred
Needs
The record name and locale
Where you meet it
Still to confirm with the venue · Standing limitation
Our position
Our position. The repair pass reads a name and guesses a type so the record can be grouped and read at all. That guess drives the typology patterns above, so it is published as a guess rather than absorbed silently.
src/lib/venues/repair.ts:73-76, 418-427
What is deliberately not a rule
These are ours, they do real work, and they are not measurements. Publishing them as rules would make every rule above look like one too.
Answered and confirmation-work scores
Two 0-100 figures: half the share of situation-weighted findings a record can currently answer plus half its core-field coverage, and a confirmation workload assembled from unresolved weight and build level.
They are useful for deciding what to read next and they are made of our own weights. Printed as rules they would present an editorial reading as a measurement. Neither is a quality score, and both are labelled that way wherever they appear.
The build level on each record, 1 to 5
Whether a room is turnkey or a full build-out by the planner, held as a single number per record.
The comparison against your stated tolerance is arithmetic (VERD-04). The number it compares is somebody's read of how much a venue makes you produce, and no two planners would land on the same figure for every room.
The typology patterns
What barns, ballrooms, galleries and wineries are usually like, per layer, for records that hold nothing of their own.
It is a compiled reference written from outside the venues. The rule that keeps it at unknown is published (REC-01); the prose it holds is ours and is not a finding about any property.
Whether the room is beautiful
Nothing. There is no field for it and no score containing it.
It is the first thing anyone actually decides on and the last thing an instrument like this could tell you. We hold no photograph of any property in this catalogue, so we would be scoring a name.
Whether the room feels right for the evening
Nothing. The occasion you state re-weights which findings surface; it never scores atmosphere, and no finding says a room suits a wedding more than a wake.
That is the judgement you are making, and the reason to visit. This instrument exists to make sure the room can hold the evening, so that the judgement is the only thing left to make.
Value for money
Cost structure lists the lines that exist, the extras a quote still has to cover, and the questions a price has not answered. It never totals them into a verdict.
A low total with blanks left in it is an incomplete picture rather than a bargain, and we cannot see your alternatives. Naming what is missing from a quote is work an instrument can do; deciding whether the evening is worth it is not.
Corrections
A rule that is wrong is wrong the same way every time, across every record — that is the cost of being deterministic, and the reason this page exists rather than a sentence claiming it. Cite the identifier rather than the wording; the wording can be improved, the identifier will not move. If something here does not match what you know from a real site visit, say so: hello@tangledthistle.blog.