Run Supplier Sheet from your own code
Both metered lanes are available over HTTP and each returns one JSON object. The division of labour: the page marks every category bundled, open or blocked, checks each brief, re-ranks the posture and the comparison depth per category, computes every all-in total, picks per category, prices the terms of each pick, works the order dates back from lead times and draws the day-of sheet - all free, in supplykit.js. The run writes the comparison, or the briefs and the delivery sheet; the page then holds the reply to its own board (supplyreply.js). Not legal advice: contract wording goes to whoever reads contracts for the team. No supplier prices and no benchmark are supplied.
Base URL and the response shape
Every endpoint lives under https://api.skillsafe.ai/v1/app-api, and every response has one shape:
{ "ok": true, "data": { ... } }
{ "ok": false, "error": { "code": "...", "message": "..." } }
The token is minted for this app (the guest call takes {"slug":"supplier-sheet"}), so no slug header is needed afterwards. Send it as Authorization: Bearer YOUR_TOKEN. The run body is the input object, sent bare.
| Status | Code | Meaning |
|---|---|---|
| 400 | validation_error | The body is not a JSON object, or a required key (task, event, categories, quotes, facts) is missing. contracts may be an empty string. |
| 401 | unauthorized | No token, or a stale one. Mint a guest token or sign in again. |
| 402 | insufficient_credits | The balance is under min_credits. Price with /estimate first. |
| 403 | forbidden | A guest token tried to run: both lanes are metered and need a personal sign-in. |
| 404 | not_found | Unknown job id. |
| 429 | rate_limited | Back off and retry. |
| 5xx | server_error | Transient. Retry with the same Idempotency-Key so a retry never double-bills. |
The task field comes first
Two lanes, chosen by task:
compare- before anything is signed: the verdict, every category with its status and posture pick, every quote with its all-in total, per-head amount and flags, the pick per category, the contract terms of each pick in money, the order schedule earliest first and the tactics tagged generic or supplier - for validation section by section.brief- one identical brief per open category, to send every candidate (the event in neutral terms, what to supply in the supplier's units, the headcount basis, how to quote so quotes compare all-in, the questions on headcount moves, cancellation, failure, insurance and lead time plus the category's own, the reply-by date and the contact), and the day-of delivery sheet per supplier. The page offers it when at least one category is open.
A missing or unknown task is answered as compare. Both lanes send the same six fields; for the brief, the event field also carries the lines the page fills from a comparison (the picks with their reasons and each term's ask). The contracts field may be an empty string.
The input
| Field | Required | What |
|---|---|---|
task | yes | compare or brief. If it is missing or neither, do compare and set "task": "compare". |
event | yes | the interview, Q1 to Q9: the categories and the venue's answer for each, the format and the headcount with its source, lock date, direction and band, what arrived from upstream and the venue's rules and insurance requirement, prior suppliers, commit-by dates and the as-of date, one-off or recurring, the effort ceiling and who reads contracts, what already exists, whether the number is quoted onward, and the owner contact and reply-by date; for the brief, the lines carried from the comparison. |
categories | yes | one row per category: status and venue answer, budget, commit-by date, when it is needed, prior supplier, venue fee, what the brief says and the brief's gaps. |
quotes | yes | one row per quote: category, supplier, headline, line items, headcount basis, cancellation, failure remedy, insurance certificate, lead time, validity and whether it was made on our brief. |
contracts | no | excerpts the page took from pasted quote or contract text, one block per supplier, each sentence tagged with its terms; may be empty. |
facts | yes | the page's verdict, the disclaimer, the self-set lines and assumptions, every category with its menus and picks, the comparison with each total's build-up and flags, the picks, the contract terms with their asks, the order schedule, the day-of sheet, the hand-offs, the tactics with their tags, the brief's quote format and questions per category, and every finding tagged [fix], [check] or [info]. |
retry_note | no | optional; if present, your previous reply was unusable - follow it. |
The rules the model applies
- What this skill will not supply. Supplier prices: catering per-plate rates, AV day rates, security hourly rates and broker commission have no public benchmark worth quoting; never invent a figure, a range, a typical rate or a target. All-in quotes from several suppliers on one identical brief are the only benchmark that is true for this city, this size and this year. Equally detailed guidance across the five categories: catering, swag and print are covered in detail; AV, security and insurance brokers are thinner and turn on local knowledge - say so rather than presenting a working default as established practice.
- Not legal advice: contract wording goes to whoever reads contracts for the team. Show what a term says; never say what a clause means, whether it is enforceable, or who is liable.
- Order: get the venue's exclusivity and inclusion answer in writing for every category before evaluating a single supplier; mark each category bundled or open; write one brief per open category and give every candidate the identical brief; source at the posture the menu sets; compare all-in totals, never headline prices; read the failure, headcount, cancellation and insurance terms before committing; negotiate against a real alternative; place orders in lead-time order, not spend order; set up delivery and day-of coordination with a named on-site contact and a backup number; hand the timing to event-planning-timeline and the delivery windows to event-run-of-show.
- Sourcing without a written brief and comparing headline prices are deleted from their menus, not ranked last. Volunteer substitution is deleted for any category carrying a licensing, food-safety or crowd-safety obligation.
- The negotiation tactics mirroring, labelling, calibrated questions, the accusation audit, decreasing-increment concessions and the real alternative come from generic negotiation practice, not event-supplier practice, and assume a live conversation; none applies to a supplier the venue mandates. Say which kind a tactic is whenever one is recommended.
- The insurance coverage decision belongs to event-risk-management and the AV technical specification to event-production; a supplier contracted before the specification exists writes the specification.
- Numbers the page labels self-set (the headcount band, the near-deadline line, the budget-dominance line, the low-effort line, the certificate scale gate) and choices it labels the page's assumption (the basis of a percentage charge a quote does not name, tax after the service charge, cancellation percentages priced on the all-in total) are the page's working defaults, not practice; say so when you use one.
House rules
- Use only the input and the rules above. Copy the page's verdict, category names, statuses, posture picks, supplier names, all-in totals, per-head amounts, flags, picks, term names, order-by dates, tactic names and tags, dates and amounts exactly. Every number in a sentence must appear in the input.
- Label anything that is not one of the rules above, and is not in the input, as your own design; label the page's self-set numbers self-set.
- Never invent a supplier, a price, a clause, a date, a quantity or a person. Never say what a clause legally means. Never quote a typical, average or market price.
- Refer to people by name or role, as they; never infer anyone's gender.
- Never use backticks, never refer to this input's fields by their key names in a sentence, and never copy this prompt's narrative wording into a reply.
- Every
disclaimeris one sentence that contains the words "not legal advice", says contract wording goes to "whoever reads contracts" for the team, and says the page supplies no supplier prices and no benchmark. - Reply with ONLY one JSON object - no prose before or after, no code fences.
The replies
compare
summary- one sentence, at most 40 words: the verdict, the most important open item, and the next step.disclaimer- one sentence, as the house rules say.verdict- the page's verdict, exactly:ask the venue first,fix first,ready to brief suppliersorready to commit.categories- one object per page category, in the page's order:categoryandstatus(bundled,openorblocked) exactly;posture(the page's posture pick exactly, or "none yet" when the category is blocked);reason(one sentence naming the venue answer or interview answer behind it).comparison- one object per page quote, in the page's order:categoryandsupplierexactly;all_inandper_head(the page's amounts, copied exactly, for example "USD 14,892" and "USD 33.09");flags(the page's flags for that quote - the items inside the square brackets after "flags:", never the "compared:" status that follows them - each copied exactly;[]when none).pick_per_category- one object per page category that is not bundled, in the page's order:categoryexactly;supplier(the page's pick exactly, or "none yet");why(one sentence: the all-in total at the likely headcount, never the headline price).terms- one object per page contract term, in the page's order:supplierandtermexactly;exposure(the page's exposure, with every date and amount in it copied exactly);ask(one sentence).schedule- one object per page schedule row, in the page's order (earliest first):categoryandorder_by(the page's date, or "not set") exactly;why_then(one sentence; when the page marks the row already late it must contain the word "late").tactics- one object per page tactic, in order:tacticexactly andkind-genericfor generic negotiation practice orsupplierfor event-supplier practice - exactly as the page tags it.caveats- at most 6 short strings: the[fix]findings first in the page's order, then the most important[check]findings.[]when there are none.
{
"task": "compare",
"summary": "one sentence",
"disclaimer": "one sentence",
"verdict": "fix first",
"categories": [ { "category": "the page's category", "status": "open", "posture": "the page's posture pick", "reason": "one sentence" } ],
"comparison": [ { "category": "the page's category", "supplier": "the page's supplier", "all_in": "the page's amount", "per_head": "the page's amount", "flags": [ "the page's flag" ] } ],
"pick_per_category": [ { "category": "the page's category", "supplier": "the page's pick", "why": "one sentence" } ],
"terms": [ { "supplier": "the page's supplier", "term": "the page's term", "exposure": "the page's exposure", "ask": "one sentence" } ],
"schedule": [ { "category": "the page's category", "order_by": "the page's date", "why_then": "one sentence" } ],
"tactics": [ { "tactic": "the page's tactic", "kind": "supplier" } ],
"caveats": [ "a caveat" ]
}
The page holds it to its own board: the verdict, every category with the page's status and posture pick (never a deleted rung), every quote with the page's all-in total, per head and flags, the page's pick for every category that is not bundled, every term of each pick with the dates and amounts of the page's exposure, every order-by date in the page's order with the word "late" where the page marks it, every tactic with the page's generic or supplier tag, caveats when the page has fixes, a disclaimer containing "not legal advice" and "whoever reads contracts" that says no supplier prices or benchmark are supplied, and no number, benchmark price, clause meaning or gender the input does not hold.
brief
briefs- one object per page open category, in the page's order:category- the page's category exactly.about- one or two sentences about the event in neutral terms: name, date, format, headcount. Never a supplier's name or any quote - the same brief goes to every candidate.supply- one or more short strings: what to deliver or perform, in the supplier's own units, from what the category's brief says.basis- one sentence on the headcount: it must contain the page's headcount in digits, its source, the date it locks and the direction it is likely to move.quote_format- 3 to 6 short strings: how to quote so quotes compare; one must contain the word "all-in" (one all-in total) and one the word "separately" (each add-on priced separately).questions- the questions the supplier answers in writing, from the page's list for that category: one must contain the word "headcount", one "cancel", one "late", one "insurance" and one "lead time"; then, by category - Catering: one containing "serve" and one containing "collect"; AV and production: one containing "record" and one containing "overtime"; Security: one containing "post order" and one containing "licence"; Insurance: one containing "licence" and one containing "carrier"; Swag: one containing "surplus"; Print: one containing "receiving".reply_by- the page's reply-by date exactly, or "to be named".contact- the page's brief contact exactly: the whole quoted string after "contact" on the page's Brief line, including any "; backup" number inside the quotes, or "to be named".delivery- one object per page day-of row, in the page's order:supplier,location,windowandcontactcopied exactly (each "to be named" where the page says so);note(one sentence on the buffer or the ready-by time; when the page flags the row's window it must contain the word "window").disclaimer- one sentence, as the house rules say.note- one sentence: when the page's verdict is "ask the venue first" or "fix first", begin with "Not ready to send:" and say what to fix first; otherwise say the briefs are ready to send to every candidate.
{
"task": "brief",
"briefs": [ { "category": "the page's category", "about": "one or two sentences", "supply": [ "what to supply" ], "basis": "one sentence with the headcount", "quote_format": [ "one instruction" ], "questions": [ "one question" ], "reply_by": "the page's date", "contact": "the page's contact" } ],
"delivery": [ { "supplier": "the page's supplier", "location": "the page's location", "window": "the page's window", "contact": "the page's contact", "note": "one sentence" } ],
"disclaimer": "one sentence",
"note": "one sentence"
}
The page requires one brief per open category in its order, the headcount in every basis, a quote format with "all-in" and "separately" in at least three items, questions on headcount, cancellation, late or short delivery, insurance and lead time plus each category's own (serve and collect for catering, record and overtime for AV, post order and licence for security, licence and carrier for insurance, surplus for swag, receiving for print), the page's reply-by date and contact, no supplier's name in any brief, every day-of row's supplier, location, window and contact exactly (the note mentions the window when the page flags it), and a note that begins "Not ready to send:" when the verdict is ask the venue first or fix first.
Worked examples - every lane, every sample
These are the page's four free samples (fictional events, organizations, venues, suppliers and people). Each input is exactly what the page sends; each reply is the saved reply the sample replays, shipped unedited; the last line is the page's own check.
Quillmere DevConf (450, AV quotes in) - compare
Verdict: fix first; 450 people; 4 of 5 categories open; 6 quotes; 5 fix-level findings.
Input:
{
"task": "compare",
"event": "Event: Quillmere DevConf 2027; date 2027-03-18; address: Harbrell Hall, 12 Quay Road, Quillmere; access hours the venue gave: load-in from 18:00 on 2027-03-17; event day 07:00-20:00\nCategories (Q1): Catering - the venue mandates its own supplier; AV and production - an outside supplier allowed with a fee; Security - open - yours to source; Swag - open - yours to source; Print - open - yours to source\nFormat and headcount (Q2): conference; 450 people, from an estimate; locks 2027-03-04; likely to move down; band 15% either way = 383 and 518 (self-set); run by a community\nUpstream (Q3): venue contract terms arrived; production specification arrived; insurance decision not needed; budget per category arrived; what the venue supplies and forbids: Catering is the venue's own; outside AV allowed with a 1,500 fee; no open flame or chafing fuel; deliveries via the Mill Lane dock only, 07:00-10:00 on the day; what the venue requires of us on insurance, verbatim: The organizer holds public liability of USD 2,000,000 naming the venue; every outside supplier provides a certificate naming the venue and the organizer as additional insured before load-in\nPrior suppliers (Q4): Security - used, would use again (Garrowfen Guarding); Print - used, would use again (Copplestrand Print)\nCommit-by dates (Q5): Catering 2027-03-04; AV and production 2027-02-15; Security 2027-03-01; Swag 2027-02-01; Print 2027-02-25; checked as of 2027-01-20\nEdition (Q6): one-off\nEffort ceiling (Q7): 60 organizer hours; someone will chase three quotes: yes; contracts are read by an experienced organizer; irreversibility the team can carry: medium; negotiation channel: call\nAlready exists (Q8): an organizer in the trade for no category; a sponsor offering in kind: none; a prior marked-up contract: no\nQuoted onward (Q9): yes - to a sponsor or a board, so it must be defensible\nBrief contacts: owner Dana Okafor, +1 555 0100; backup +1 555 0101; suppliers reply by 2027-01-29; currency USD",
"categories": "K1. Catering | bundled (the venue mandates its own supplier) | budget: USD 27,000 | commit-by: 2027-03-04 | needed: 2027-03-18 12:00 | prior: none | venue fee: none | brief says: the venue's own caterer: plated lunch x 450 at 12:00 and two coffee breaks; dietary counts: vegetarian 70, vegan 25, gluten-free 18, halal 12, kosher 4, nut allergy 6; who serves: the venue's staff; allergen menu posted at check-in | brief gaps: not briefed (bundled)\nK2. AV and production | open (an outside supplier allowed with a fee) | budget: USD 14,000 | commit-by: 2027-02-15 | needed: 2027-03-18 08:30 | prior: none | venue fee: USD 1,500 | brief says: per the production spec v2, attached unchanged: 2 rooms, 3 cameras, recording off the board, 2 crew per room, crew window 07:00-19:00; load-in 2027-03-17 18:00-22:00 and load-out by 21:00 on the day; rehearsal and edited recordings priced separately; directed on the day by the production lead; budget range 12,000-15,000 stated | brief gaps: none\nK3. Security | open (open - yours to source) | budget: USD 4,000 | commit-by: 2027-03-01 | needed: 2027-03-18 08:00 | prior: yes Garrowfen Guarding | venue fee: none | brief says: 3 guards x 11 hours: 2 door posts and 1 roaming, as the venue requires; the fire marshal is the venue's; a written post order requested; licences and insurance asked; own employees or subcontracted asked | brief gaps: the incident-report practice\nK4. Swag | open (open - yours to source) | budget: USD 6,500 | commit-by: 2027-02-01 | needed: 2027-03-11 | prior: none | venue fee: none | brief says: 450 t-shirts by size and fit: XS 5, S 60, M 180, L 120, XL 50, 2XL 20, 3XL 10, 4XL 5; size range XS-5XL required; unisex and fitted in the same colour; tri-blend; artwork: 2-colour front print, vector file from us; in-hand date 2027-03-11; unopened surplus returnable | brief gaps: none\nK5. Print | open (open - yours to source) | budget: USD 2,000 | commit-by: 2027-02-25 | needed: 2027-03-11 | prior: yes Copplestrand Print | venue fee: none | brief says: 450 badges and 20 signs; artwork PDF from us, proof included; in-hand date 2027-03-11; delivered to the venue's receiving dock | brief gaps: none",
"quotes": "Q1. AV and production | Brellwyn AV | headline: 9,800 | line items: crew 4 x 12h included (07:00-19:00); equipment included; transport 600; setup/strike 2,400; overtime 4 crew x 3h at 95; tax 8% | headcount basis: lump sum for 2 rooms - does not move with headcount | cancellation: 2027-01-31: 25%; 2027-03-04: 50%; 2027-03-11: 100% | failure remedy: none stated | insurance certificate: certificate offered; venue and organizer named additional insured | lead time: 4 weeks | valid until: 2027-02-28 | on our brief: yes\nQ2. AV and production | Kestrovan Production | headline: 12,400 | line items: crew included, window 06:30-20:00; equipment included; transport included; setup/strike included; overtime none expected inside the window; tax 8% | headcount basis: lump sum for 2 rooms | cancellation: 2027-02-15: 30%; 2027-03-11: 100% | failure remedy: 20% of the invoice credited for each hour of late setup; a failed recording re-shot at their cost | insurance certificate: certificate offered; additional insured on request | lead time: 3 weeks | valid until: 2027-02-20 | on our brief: yes\nQ3. AV and production | Lumarde Stage Co | headline: 11,200 | line items: crew included; equipment included; delivery 350; setup/strike included; overtime 2 crew x 2h at 85; tax 8% | headcount basis: lump sum | cancellation: 2027-03-01: 50% | failure remedy: credit for late setup | insurance certificate: certificate offered | lead time: 3 weeks | valid until: 2027-03-15 | on our brief: no\nQ4. Security | Garrowfen Guarding | headline: 42 per guard-hour x 3 guards x 11h | line items: supervisor 4h at 55; overtime 1.5x after 11 hours; tax 8% | headcount basis: 3 guards, fixed | cancellation: 2027-03-11: 50% | failure remedy: a replacement guard within 1 hour, or that hour credited | insurance certificate: certificate offered; organizer and venue named additional insured | lead time: 1 week | valid until: 2027-03-01 | on our brief: yes\nQ5. Swag | Threadvelle Merch | headline: 13.50 per shirt x 450 | line items: screen setup 180; shipping 240; tax 8% | headcount basis: 450 fixed; sizes final on 2027-01-25 | cancellation: 2027-01-25: 100% once printed | failure remedy: defective units reprinted; no credit for late delivery | insurance certificate: none offered | lead time: 10 weeks (fitted tri-blend backordered) | valid until: 2027-01-31 | on our brief: yes\nQ6. Print | Copplestrand Print | headline: 1,450 | line items: delivery 120; tax 8% | headcount basis: fixed quantity | cancellation: 2027-03-01: 100% | failure remedy: reprint at their cost if the proof was right | insurance certificate: none offered | lead time: 2 weeks | valid until: 2027-03-31 | on our brief: yes",
"contracts": "C1. Brellwyn AV (Q1) - 5 excerpts:\n[cancellation] Cancellation: 25% of the total from 2027-01-31, 50% from 2027-03-04 and 100% from 2027-03-11.\n[substitution] Brellwyn may substitute equipment of equal or better specification without notice.\n[liability] The client shall indemnify Brellwyn against all claims arising at the venue.\n[liability, force majeure] Neither party is liable for a failure to perform caused by force majeure.\n[deposit] A deposit of 25% is due on signature.\n[... 174 characters of this text carried no term keyword or passed the cap and were not sent; the page read all of it ...]",
"facts": "Verdict: fix first (5 fix-level findings; stage: every open category has a complete pick with a stated remedy - a commit question)\nDisclaimer: Not legal advice: contract wording goes to whoever reads contracts for the team, and the page shows what a clause says, never what it means. No supplier prices and no benchmark are supplied - all-in quotes on one identical brief are the only benchmark for this city, this size and this year.\nSelf-set lines: the headcount band 15% either way (383 and 518); a near commit-by date within 21 days; a category dominant at 20% of the open budget; a low effort ceiling under 20 organizer hours; the certificate ask gated at 300 attendees. Reference values used: catering ordered 2-4 weeks out (taken at 4 weeks), a security firm may take a week, catering buffers 30-60 minutes plated and 60-90 family-style, late-order padding up to 30% per size and style.\nAssumptions labelled on the page: a percentage charge with no stated basis applies to the whole invoice; tax applies last, after any service charge (the reference states no order); a cancellation percentage is priced on the all-in total at the headcount; the venue's outside-supplier fee sits outside the supplier's percentages.\nCategories (5), in order:\n- K1 Catering: status bundled (the venue mandates its own supplier); budget USD 27,000; posture pick: Venue-bundled supplier; depth pick: none; pick: none yet\n Sourcing posture - Catering (pick: Venue-bundled supplier): 1. Venue-bundled supplier [made the pick by step 2: the venue mandates its own supplier]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Referred single-source (the venue mandates its own supplier - there is no market to source); Multi-quote on one identical brief (the venue mandates its own supplier - there is no market to source); Volunteer substitution (a bundled category is the venue's to staff). Notes: Do not use any negotiation tactic on a supplier the venue mandates - there is no alternative, and the leverage they assume does not exist.\n- K2 AV and production: status open (an outside supplier allowed with a fee); budget USD 14,000 (53% of the open budget, dominant); posture pick: Multi-quote on one identical brief; depth pick: Failure-terms read; pick: Kestrovan Production\n Sourcing posture - AV and production (pick: Multi-quote on one identical brief): 1. Multi-quote on one identical brief [promoted by Q9: the number is quoted onward to a sponsor or a board and has to be defensible; made the pick by the budget: AV and production is one of the lines that dominate it (53% of the open budget; dominant at 20%, self-set); made the pick by Q4: no referral exists in this category]; 2. Referred single-source. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves AV and production open, with a fee to allow an outside supplier); Volunteer substitution (the skill names volunteer substitution only for some of catering and front-of-house - it is not a rung here)\n Quote-comparison depth - AV and production (pick: Failure-terms read): 1. Failure-terms read; 2. Reference check [promoted by the supplier is new to you, with no referral behind them]; 3. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; the production specification, attached unchanged present; load-in and load-out windows present; rehearsal and post-event deliverables priced separately present; who directs them on the day present; a budget range in the request present\n- K3 Security: status open (open - yours to source); budget USD 4,000 (15% of the open budget); posture pick: Referred single-source; depth pick: Failure-terms read; pick: Garrowfen Guarding\n Sourcing posture - Security (pick: Referred single-source): 1. Referred single-source [made the pick by Q8: a supplier from last edition (Garrowfen Guarding) promotes its own rung above everything else]; 2. Multi-quote on one identical brief [promoted by Q9: the number is quoted onward to a sponsor or a board and has to be defensible]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves security open); Volunteer substitution (the skill: security staffing carries a licensing and crowd-safety obligation - volunteers can staff a door, never the licensed work)\n Quote-comparison depth - Security (pick: Failure-terms read): 1. Failure-terms read; 2. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted); Reference check (Q8: a prior edition's own record of this supplier replaces it - you are the reference). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; what the building requires: posts, hours, fire marshal present; a written post order requested present; licences and insurance asked, not asserted present; own employees or subcontracted present; the incident-report practice MISSING\n- K4 Swag: status open (open - yours to source); budget USD 6,500 (25% of the open budget, dominant); posture pick: Multi-quote on one identical brief; depth pick: Reference check; pick: Threadvelle Merch\n Sourcing posture - Swag (pick: Multi-quote on one identical brief): 1. Multi-quote on one identical brief [demoted by Q5: a near commit-by date (2027-02-01, within 21 days - self-set) demotes anything needing three quotes; promoted by Q9: the number is quoted onward to a sponsor or a board and has to be defensible; made the pick by Q4: no referral exists in this category]; 2. Referred single-source. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves swag open); Volunteer substitution (the skill names volunteer substitution only for some of catering and front-of-house - it is not a rung here)\n Quote-comparison depth - Swag (pick: Reference check): 1. Reference check [promoted by the supplier is new to you, with no referral behind them; promoted by one comparable quote - their failure has no fallback in the category]; 2. Failure-terms read; 3. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; quantity by size, not a total present; the size range, stated as a requirement present; fit options present; the fabric present; the artwork specification present; a hard in-hand date, not a ship date present; whether unopened surplus can be returned present\n- K5 Print: status open (open - yours to source); budget USD 2,000 (8% of the open budget); posture pick: Referred single-source; depth pick: Failure-terms read; pick: Copplestrand Print\n Sourcing posture - Print (pick: Referred single-source): 1. Referred single-source [made the pick by Q8: a supplier from last edition (Copplestrand Print) promotes its own rung above everything else]; 2. Multi-quote on one identical brief [promoted by Q9: the number is quoted onward to a sponsor or a board and has to be defensible]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves print open); Volunteer substitution (the skill names volunteer substitution only for some of catering and front-of-house - it is not a rung here)\n Quote-comparison depth - Print (pick: Failure-terms read): 1. Failure-terms read; 2. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted); Reference check (Q8: a prior edition's own record of this supplier replaces it - you are the reference). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; the artwork specification present; a hard in-hand date present; receiving at the venue present\nComparison, every quote, all-in at 450 (the headcount), at 383 and 518 (the band, self-set), per head at 450; only within a category:\n- Q1 AV and production / Brellwyn AV: all-in USD 16,555; per head USD 36.79; at 383 USD 16,555; at 518 USD 16,555; flags: [cheapest headline; over budget by USD 2,555] | compared: yes\n built from: headline USD 9,800 (9,800) + delivery or transport USD 600 (transport 600) + setup and teardown USD 2,400 (setup/strike 2,400) + overtime USD 1,140 (overtime 4 crew x 3h at 95) + tax USD 1,115 (8% of the subtotal) + the venue's outside-supplier fee USD 1,500 (from the venue's answer)\n- Q2 AV and production / Kestrovan Production: all-in USD 14,892; per head USD 33.09; at 383 USD 14,892; at 518 USD 14,892; flags: [over budget by USD 892; lowest all-in] | compared: yes\n built from: headline USD 12,400 (12,400) + tax USD 992 (8% of the subtotal) + the venue's outside-supplier fee USD 1,500 (from the venue's answer)\n- Q3 AV and production / Lumarde Stage Co: all-in USD 14,341; per head USD 31.87; at 383 USD 14,341; at 518 USD 14,341; flags: [not on our brief; over budget by USD 341] | compared: no - not on the brief or not valid\n built from: headline USD 11,200 (11,200) + delivery or transport USD 350 (delivery 350) + overtime USD 340 (overtime 2 crew x 2h at 85) + tax USD 951 (8% of the subtotal) + the venue's outside-supplier fee USD 1,500 (from the venue's answer)\n- Q4 Security / Garrowfen Guarding: all-in USD 1,734; per head USD 3.85; at 383 USD 1,734; at 518 USD 1,734; flags: [none] | compared: yes\n built from: headline USD 1,386 (42 per guard-hour x 3 guards x 11h) + staff USD 220 (supervisor 4h at 55) + tax USD 128 (8% of the subtotal)\n- Q5 Swag / Threadvelle Merch: all-in USD 7,015; per head USD 15.59; at 383 USD 7,015; at 518 USD 7,015; flags: [expires before commit-by; over budget by USD 515] | compared: yes\n built from: headline USD 6,075 (13.50 per shirt x 450) + setup and teardown USD 180 (screen setup 180) + delivery or transport USD 240 (shipping 240) + tax USD 520 (8% of the subtotal)\n- Q6 Print / Copplestrand Print: all-in USD 1,696; per head USD 3.77; at 383 USD 1,696; at 518 USD 1,696; flags: [none] | compared: yes\n built from: headline USD 1,450 (1,450) + delivery or transport USD 120 (delivery 120) + tax USD 126 (8% of the subtotal)\nPicks per category (lowest all-in at the likely headcount 383 among comparable quotes): AV and production - Kestrovan Production; Security - Garrowfen Guarding; Swag - Threadvelle Merch; Print - Copplestrand Print\nContract terms, per pick:\n- Kestrovan Production / Failure remedy: stated | ask: the stated remedy written into the contract against the brief's window (the remedy is what the contract's failure terms turn out to be worth)\n- Kestrovan Production / Headcount moves: fixed price - does not move with the headcount | ask: the fixed scope confirmed in writing against the brief (a lump sum moves only when the scope does)\n- Kestrovan Production / Cancellation: 2027-02-15 30% USD 4,468; 2027-03-11 100% USD 14,892 | ask: a softer early step, and what they owe if they cancel - usually far weaker than what you owe (the schedule, not \"cancellation fees may apply\")\n- Kestrovan Production / Certificate of insurance: offered; additional insured | ask: a certificate naming the venue and the organizer as additional insured, as the venue's contract requires (two directions: what the supplier carries, and what the venue requires of you flowing down)\n- Garrowfen Guarding / Failure remedy: stated | ask: the stated remedy written into the contract against the brief's window (the remedy is what the contract's failure terms turn out to be worth)\n- Garrowfen Guarding / Headcount moves: fixed price - does not move with the headcount | ask: the fixed scope confirmed in writing against the brief (a lump sum moves only when the scope does)\n- Garrowfen Guarding / Cancellation: 2027-03-11 50% USD 867 | ask: a softer early step, and what they owe if they cancel - usually far weaker than what you owe (the schedule, not \"cancellation fees may apply\")\n- Garrowfen Guarding / Certificate of insurance: offered; additional insured | ask: a certificate naming the venue and the organizer as additional insured, as the venue's contract requires (two directions: what the supplier carries, and what the venue requires of you flowing down)\n- Threadvelle Merch / Failure remedy: stated | ask: the stated remedy written into the contract against the brief's window (the remedy is what the contract's failure terms turn out to be worth)\n- Threadvelle Merch / Headcount moves: fixed price - does not move with the headcount | ask: the fixed scope confirmed in writing against the brief (a lump sum moves only when the scope does)\n- Threadvelle Merch / Cancellation: 2027-01-25 100% USD 7,015 | ask: a softer early step, and what they owe if they cancel - usually far weaker than what you owe (the schedule, not \"cancellation fees may apply\")\n- Threadvelle Merch / Certificate of insurance: none offered | ask: a certificate naming the venue and the organizer as additional insured, as the venue's contract requires (two directions: what the supplier carries, and what the venue requires of you flowing down)\n- Copplestrand Print / Failure remedy: stated | ask: the stated remedy written into the contract against the brief's window (the remedy is what the contract's failure terms turn out to be worth)\n- Copplestrand Print / Headcount moves: fixed price - does not move with the headcount | ask: the fixed scope confirmed in writing against the brief (a lump sum moves only when the scope does)\n- Copplestrand Print / Cancellation: 2027-03-01 100% USD 1,696 | ask: a softer early step, and what they owe if they cancel - usually far weaker than what you owe (the schedule, not \"cancellation fees may apply\")\n- Copplestrand Print / Certificate of insurance: none offered | ask: a certificate naming the venue and the organizer as additional insured, as the venue's contract requires (two directions: what the supplier carries, and what the venue requires of you flowing down)\nOrder schedule, earliest first:\n- Swag: order by 2026-12-31 (ALREADY LATE as of 2027-01-20) - the quote's 10 weeks before the in-hand date 2027-03-11, earlier than the commit-by date 2027-02-01\n- AV and production: order by 2027-02-15 - the commit-by date - it binds before the quote's 3 weeks before the need date 2027-03-18\n- Catering: order by 2027-02-18 - the reference's 2-4 weeks, taken at 4 weeks before the need date 2027-03-18, earlier than the commit-by date 2027-03-04; the venue's deadline - ask it, it is typically earlier than an outside supplier's\n- Print: order by 2027-02-25 - the commit-by date - it binds before the quote's 2 weeks before the in-hand date 2027-03-11\n- Security: order by 2027-03-01 - the commit-by date - it binds before the reference's week before the need date 2027-03-18\nDay-of delivery sheet:\n- Harbrell Hall catering (the venue's own) (Catering): location Harbrell Hall kitchen, level 1; window 10:45-11:30; contact Pria Vantrell, +1 555 0144; backup +1 555 0145; pickup the venue's staff clear at 16:00; deliver 30-60 minutes before serving at 12:00 (plated); arrives more than 60 minutes before serving - the risk is temperature\n- Kestrovan Production (AV and production): location Mill Lane dock, then the main hall; window 2027-03-17 18:00-22:00; contact Sam Reyes, production lead, +1 555 0150; backup +1 555 0151; pickup load-out from 19:00 on the day; ready by 08:30 - no reference buffer\n- Garrowfen Guarding (Security): location main entrance, Quay Road; window 07:15-07:45; contact Dana Okafor, +1 555 0100; backup +1 555 0101; pickup none; ready by 08:00 - no reference buffer\n- Threadvelle Merch (Swag): location Mill Lane dock; window 2027-03-11 09:00-12:00; contact Leo Park, +1 555 0160; backup none; pickup none; no reference buffer\n- Copplestrand Print (Print): location to be named; window to be named; contact to be named; backup none; pickup to be named; no reference buffer\nHand-offs: timing to event-planning-timeline (Swag - order by 2026-12-31; AV and production - order by 2027-02-15; Catering - order by 2027-02-18; Print - order by 2027-02-25; Security - order by 2027-03-01); delivery windows to event-run-of-show (Harbrell Hall catering (the venue's own) - 10:45-11:30 at Harbrell Hall kitchen, level 1, contact Pria Vantrell, +1 555 0144; Kestrovan Production - 2027-03-17 18:00-22:00 at Mill Lane dock, then the main hall, contact Sam Reyes, production lead, +1 555 0150; Garrowfen Guarding - 07:15-07:45 at main entrance, Quay Road, contact Dana Okafor, +1 555 0100; Threadvelle Merch - 2027-03-11 09:00-12:00 at Mill Lane dock, contact Leo Park, +1 555 0160; Copplestrand Print - to be named at to be named, contact to be named).\nTactics, each tagged generic negotiation practice or event-supplier practice: Specific target, trade-off in the supplier's hands [supplier]; Non-monetary asks [supplier]; Real alternative [generic]; Calibrated questions [generic]; Labelling [generic]; Mirroring [generic]; Accusation audit [generic]; Decreasing-increment concessions [generic]. The generic tactics come from generic negotiation practice, not event-supplier practice, and assume this call; none applies to a supplier the venue mandates.\nBrief: reply by 2027-01-29; contact \"Dana Okafor, +1 555 0100; backup +1 555 0101\"; quote format: One all-in total at our headcount: the unit price and every add-on inside it / Each add-on priced separately: delivery or travel, staff, service charge or gratuity and what it applies to, equipment, setup and teardown, overtime beyond a stated window, taxes / The total at our headcount moved down and up, and until when it can move / The deposit, the balance dates and the cancellation schedule as dated steps / How long the quote is valid\nQuestions for AV and production: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Will you quote against the written specification without substituting your own package? / Are crew hours quoted with a stated window and a named overtime rate? / What is the remedy if a recording fails? / Is a rehearsal or technical check inside the quote? / Do the crew hold CTS or an equivalent credential?\nQuestions for Security: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Will you produce a written post order before the event - each post, the guards on it, their hours? / What licences and insurance do the firm and its staff hold, and are the guards your own employees or subcontracted? / What does your incident report capture, who writes it, and how long are records kept?\nQuestions for Swag: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Does the line genuinely cover the full size range, 3XL to 5XL included, in this style? / Can unopened surplus be returned? / Will you hold the order or ship to the venue, and to what receiving address?\nQuestions for Print: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Will you deliver to the venue's receiving dock, and on what date? / What file formats and colour profile do you need, and is a proof included?\nPasted text: C1 Brellwyn AV - 5 keyword sentences, 174 characters not sent\nFindings (26):\n[fix] over_av (comparison): AV and production: the pick, Kestrovan Production, is USD 892 over the budget line - and the number is quoted onward (Q9), so it has to be defensible before it goes to the sponsor or board.\n[fix] over_swag (comparison): Swag: the pick, Threadvelle Merch, is USD 515 over the budget line - and the number is quoted onward (Q9), so it has to be defensible before it goes to the sponsor or board.\n[fix] late_swag (schedule): Swag: the order-by date 2026-12-31 has passed (as of 2027-01-20) - ask for stock and the in-hand date in writing now; ordering only a few weeks out, pad by up to 30% per size and style (the reference's late-order hedge), or drop it.\n[fix] dc_print_4 (day-of): Copplestrand Print: no named on-site contact - the supplier arrives, calls the one number they were given, and nobody answers.\n[fix] dloc_print_4 (day-of): Copplestrand Print: no exact delivery location - building, entrance, dock, room, not the event's marketing address.\n[check] brief_security (brief): Security brief is missing: the incident-report practice.\n[check] brief_q3 (quotes): Lumarde Stage Co quoted in its own shape, not on the identical brief - two suppliers cannot be compared on two different questions; re-quote it on the brief or leave it out. It is not compared.\n[check] expc_q5 (quotes): Threadvelle Merch: the quote expires 2027-01-31, before the commit-by date 2027-02-01.\n[check] coi_swag (terms): Swag: Threadvelle Merch offers no certificate of insurance - a supplier who cannot produce one is a supplier whose failure lands entirely on you.\n[check] coi_print (terms): Print: Copplestrand Print offers no certificate of insurance - a supplier who cannot produce one is a supplier whose failure lands entirely on you.\n[check] subst_1 (contracts): Brellwyn AV: the text reserves a right to substitute - unconstrained substitution makes the specification decorative; send the wording to whoever reads contracts for the team.\n[check] fm_1 (contracts): Brellwyn AV: a force majeure clause is in the text - send it to whoever reads contracts for the team; the page does not assess what it covers.\n[check] dw_catering_0_0 (day-of): Harbrell Hall catering (the venue's own): the window 10:45-11:30 arrives more than 60 minutes before serving - the risk is temperature.\n[check] db_swag_3 (day-of): Threadvelle Merch: no backup number - the field most often left empty.\n[info] hc_estimate (interview): Q2: the headcount is an estimate, so the totals at 383 and 518 (15% either way, self-set) matter as much as the one at 450.\n[info] format_av (interview): Q2: a recorded conference's spend concentrates in AV; one that publishes nothing barely needs it.\n[info] bundled_catering (venue): Catering: the venue mandates its own supplier - sourcing collapses to a form and a headcount, with no price comparison and no separate certificate to chase; the deadline is the venue's (2027-03-04).\n[info] rateonly_q4_0 (quotes): Garrowfen Guarding: \"overtime 1.5x after 11 hours\" is a rate with no expected hours - ask when the window starts and how long overtime is likely to run.\n[info] headline_av (comparison): AV and production: Brellwyn AV has the cheapest headline and the highest all-in total - the grid changed the answer.\n[info] coi_gate (terms): The venue's insurance requirement reaches suppliers, so every open supplier is asked for a certificate naming the venue and the organizer. Which cover the event itself buys is event-risk-management's decision.\n[info] sec_cut_1 (contracts): Brellwyn AV: 542 characters pasted; the 5 excerpts with a term keyword (440 characters) are sent, the other 174 characters were read by the page and not sent.\n[info] cmiss_1_failure (contracts): Brellwyn AV: no failure remedy wording found in the pasted text - ask where it is.\n[info] cmiss_1_insurance (contracts): Brellwyn AV: no insurance wording found in the pasted text - ask where it is.\n[info] earliest_spend (schedule): The earliest deadline is swag (2026-12-31), not the largest spend, catering - order in deadline order; planning forward does the biggest thing first and misses the earliest.\n[info] rehearsal (schedule): AV and production: if the event streams, the rehearsal with the actual setup is a date on this schedule and a line in the quote, with a named person running the stream.\n[info] disclaimer (honesty): Not legal advice: contract wording goes to whoever reads contracts for the team, and the page shows what a clause says, never what it means. No supplier prices and no benchmark are supplied - all-in quotes on one identical brief are the only benchmark for this city, this size and this year."
}
Reply:
{
"task": "compare",
"summary": "Fix first: the swag order date has already passed and the AV and swag picks are over their budget lines with the number going to a sponsor; secure swag stock in writing now, then settle the AV price.",
"disclaimer": "This is not legal advice: contract wording goes to whoever reads contracts for the team, and the page supplies no supplier prices and no benchmark - only the all-in quotes in the input.",
"verdict": "fix first",
"categories": [
{
"category": "Catering",
"status": "bundled",
"posture": "Venue-bundled supplier",
"reason": "The venue mandates its own caterer, so sourcing is a form and a headcount on the venue's deadline."
},
{
"category": "AV and production",
"status": "open",
"posture": "Multi-quote on one identical brief",
"reason": "Outside AV is allowed with the venue's fee, the line dominates the open budget and no referral exists, so it goes to several suppliers on one brief."
},
{
"category": "Security",
"status": "open",
"posture": "Referred single-source",
"reason": "Security is open and last edition's firm, Garrowfen Guarding, is a referral worth keeping on a written brief."
},
{
"category": "Swag",
"status": "open",
"posture": "Multi-quote on one identical brief",
"reason": "Swag is open, a dominant line with no referral, so it is quoted by more than one supplier on the identical brief."
},
{
"category": "Print",
"status": "open",
"posture": "Referred single-source",
"reason": "Print is open and Copplestrand Print was used before, so one referred supplier on a written brief is enough."
}
],
"comparison": [
{
"category": "AV and production",
"supplier": "Brellwyn AV",
"all_in": "USD 16,555",
"per_head": "USD 36.79",
"flags": [
"cheapest headline",
"over budget by USD 2,555"
]
},
{
"category": "AV and production",
"supplier": "Kestrovan Production",
"all_in": "USD 14,892",
"per_head": "USD 33.09",
"flags": [
"over budget by USD 892",
"lowest all-in"
]
},
{
"category": "AV and production",
"supplier": "Lumarde Stage Co",
"all_in": "USD 14,341",
"per_head": "USD 31.87",
"flags": [
"not on our brief",
"over budget by USD 341"
]
},
{
"category": "Security",
"supplier": "Garrowfen Guarding",
"all_in": "USD 1,734",
"per_head": "USD 3.85",
"flags": []
},
{
"category": "Swag",
"supplier": "Threadvelle Merch",
"all_in": "USD 7,015",
"per_head": "USD 15.59",
"flags": [
"expires before commit-by",
"over budget by USD 515"
]
},
{
"category": "Print",
"supplier": "Copplestrand Print",
"all_in": "USD 1,696",
"per_head": "USD 3.77",
"flags": []
}
],
"pick_per_category": [
{
"category": "AV and production",
"supplier": "Kestrovan Production",
"why": "Kestrovan Production is the lowest all-in total at the likely headcount among quotes made on the brief; Brellwyn AV had the cheapest headline and finished dearest once overtime, setup and transport were added."
},
{
"category": "Security",
"supplier": "Garrowfen Guarding",
"why": "Garrowfen Guarding is the only quote, made on the brief, and it is well inside the budget line."
},
{
"category": "Swag",
"supplier": "Threadvelle Merch",
"why": "Threadvelle Merch is the only comparable quote, but its order date has passed and it runs over the budget line."
},
{
"category": "Print",
"supplier": "Copplestrand Print",
"why": "Copplestrand Print is the only quote and it is complete on the brief."
}
],
"terms": [
{
"supplier": "Kestrovan Production",
"term": "Failure remedy",
"exposure": "stated",
"ask": "Ask Kestrovan Production to write the stated remedy into the contract against the brief's window."
},
{
"supplier": "Kestrovan Production",
"term": "Headcount moves",
"exposure": "fixed price - does not move with the headcount",
"ask": "Ask Kestrovan Production to confirm the fixed scope in writing against the brief."
},
{
"supplier": "Kestrovan Production",
"term": "Cancellation",
"exposure": "2027-02-15 30% USD 4,468; 2027-03-11 100% USD 14,892",
"ask": "Ask Kestrovan Production for a softer early step, and what they owe if they cancel."
},
{
"supplier": "Kestrovan Production",
"term": "Certificate of insurance",
"exposure": "offered; additional insured",
"ask": "Ask Kestrovan Production for the certificate in writing before load-in, naming the parties the venue requires."
},
{
"supplier": "Garrowfen Guarding",
"term": "Failure remedy",
"exposure": "stated",
"ask": "Ask Garrowfen Guarding to write the stated remedy into the contract against the brief's window."
},
{
"supplier": "Garrowfen Guarding",
"term": "Headcount moves",
"exposure": "fixed price - does not move with the headcount",
"ask": "Ask Garrowfen Guarding to confirm the fixed scope in writing against the brief."
},
{
"supplier": "Garrowfen Guarding",
"term": "Cancellation",
"exposure": "2027-03-11 50% USD 867",
"ask": "Ask Garrowfen Guarding for a softer early step, and what they owe if they cancel."
},
{
"supplier": "Garrowfen Guarding",
"term": "Certificate of insurance",
"exposure": "offered; additional insured",
"ask": "Ask Garrowfen Guarding for the certificate in writing before load-in, naming the parties the venue requires."
},
{
"supplier": "Threadvelle Merch",
"term": "Failure remedy",
"exposure": "stated",
"ask": "Ask Threadvelle Merch to write the stated remedy into the contract against the brief's window."
},
{
"supplier": "Threadvelle Merch",
"term": "Headcount moves",
"exposure": "fixed price - does not move with the headcount",
"ask": "Ask Threadvelle Merch to confirm the fixed scope in writing against the brief."
},
{
"supplier": "Threadvelle Merch",
"term": "Cancellation",
"exposure": "2027-01-25 100% USD 7,015",
"ask": "Ask Threadvelle Merch for a softer early step, and what they owe if they cancel."
},
{
"supplier": "Threadvelle Merch",
"term": "Certificate of insurance",
"exposure": "none offered",
"ask": "Ask Threadvelle Merch what liability cover they carry, in writing, before committing."
},
{
"supplier": "Copplestrand Print",
"term": "Failure remedy",
"exposure": "stated",
"ask": "Ask Copplestrand Print to write the stated remedy into the contract against the brief's window."
},
{
"supplier": "Copplestrand Print",
"term": "Headcount moves",
"exposure": "fixed price - does not move with the headcount",
"ask": "Ask Copplestrand Print to confirm the fixed scope in writing against the brief."
},
{
"supplier": "Copplestrand Print",
"term": "Cancellation",
"exposure": "2027-03-01 100% USD 1,696",
"ask": "Ask Copplestrand Print for a softer early step, and what they owe if they cancel."
},
{
"supplier": "Copplestrand Print",
"term": "Certificate of insurance",
"exposure": "none offered",
"ask": "Ask Copplestrand Print what liability cover they carry, in writing, before committing."
}
],
"schedule": [
{
"category": "Swag",
"order_by": "2026-12-31",
"why_then": "The quote's backorder lead time put the order-by date before the as-of date, so swag is already late and needs stock confirmed in writing now."
},
{
"category": "AV and production",
"order_by": "2027-02-15",
"why_then": "The commit-by date binds before the quote's lead time, so AV is decided next."
},
{
"category": "Catering",
"order_by": "2027-02-18",
"why_then": "The venue's caterer works on the reference's four weeks before the event, earlier than the commit-by date - ask the venue whether its own deadline is sooner."
},
{
"category": "Print",
"order_by": "2027-02-25",
"why_then": "The commit-by date and the two-week turnaround meet on the same day."
},
{
"category": "Security",
"order_by": "2027-03-01",
"why_then": "The commit-by date binds before the firm's week of notice."
}
],
"tactics": [
{
"tactic": "Specific target, trade-off in the supplier's hands",
"kind": "supplier"
},
{
"tactic": "Non-monetary asks",
"kind": "supplier"
},
{
"tactic": "Real alternative",
"kind": "generic"
},
{
"tactic": "Calibrated questions",
"kind": "generic"
},
{
"tactic": "Labelling",
"kind": "generic"
},
{
"tactic": "Mirroring",
"kind": "generic"
},
{
"tactic": "Accusation audit",
"kind": "generic"
},
{
"tactic": "Decreasing-increment concessions",
"kind": "generic"
}
],
"caveats": [
"Swag: the order-by date has passed - ask for stock and the in-hand date in writing now, or pad late orders by up to 30% per size and style.",
"AV and production: Kestrovan Production is over the budget line and the number is quoted onward, so it must be defensible.",
"Swag: Threadvelle Merch is over the budget line too.",
"Copplestrand Print has no named on-site contact and no delivery location yet.",
"Lumarde Stage Co quoted its own package, not the brief, so it is not compared."
]
}
The page's check: kept - nothing to flag
Quillmere DevConf (450, AV quotes in) - brief
Verdict: fix first; 450 people; 4 of 5 categories open; 6 quotes; 5 fix-level findings.
Input:
{
"task": "brief",
"event": "Event: Quillmere DevConf 2027; date 2027-03-18; address: Harbrell Hall, 12 Quay Road, Quillmere; access hours the venue gave: load-in from 18:00 on 2027-03-17; event day 07:00-20:00\nCategories (Q1): Catering - the venue mandates its own supplier; AV and production - an outside supplier allowed with a fee; Security - open - yours to source; Swag - open - yours to source; Print - open - yours to source\nFormat and headcount (Q2): conference; 450 people, from an estimate; locks 2027-03-04; likely to move down; band 15% either way = 383 and 518 (self-set); run by a community\nUpstream (Q3): venue contract terms arrived; production specification arrived; insurance decision not needed; budget per category arrived; what the venue supplies and forbids: Catering is the venue's own; outside AV allowed with a 1,500 fee; no open flame or chafing fuel; deliveries via the Mill Lane dock only, 07:00-10:00 on the day; what the venue requires of us on insurance, verbatim: The organizer holds public liability of USD 2,000,000 naming the venue; every outside supplier provides a certificate naming the venue and the organizer as additional insured before load-in\nPrior suppliers (Q4): Security - used, would use again (Garrowfen Guarding); Print - used, would use again (Copplestrand Print)\nCommit-by dates (Q5): Catering 2027-03-04; AV and production 2027-02-15; Security 2027-03-01; Swag 2027-02-01; Print 2027-02-25; checked as of 2027-01-20\nEdition (Q6): one-off\nEffort ceiling (Q7): 60 organizer hours; someone will chase three quotes: yes; contracts are read by an experienced organizer; irreversibility the team can carry: medium; negotiation channel: call\nAlready exists (Q8): an organizer in the trade for no category; a sponsor offering in kind: none; a prior marked-up contract: no\nQuoted onward (Q9): yes - to a sponsor or a board, so it must be defensible\nBrief contacts: owner Dana Okafor, +1 555 0100; backup +1 555 0101; suppliers reply by 2027-01-29; currency USD\nCarried from the comparison (20): 1. Pick: AV and production - Kestrovan Production: Kestrovan Production is the lowest all-in total at the likely headcount among quotes made on the brief; Brellwyn AV had the cheapest headline and finished dearest once overtime, setup and transport were added.; 2. Pick: Security - Garrowfen Guarding: Garrowfen Guarding is the only quote, made on the brief, and it is well inside the budget line.; 3. Pick: Swag - Threadvelle Merch: Threadvelle Merch is the only comparable quote, but its order date has passed and it runs over the budget line.; 4. Pick: Print - Copplestrand Print: Copplestrand Print is the only quote and it is complete on the brief.; 5. Kestrovan Production - Failure remedy: Ask Kestrovan Production to write the stated remedy into the contract against the brief's window.; 6. Kestrovan Production - Headcount moves: Ask Kestrovan Production to confirm the fixed scope in writing against the brief.; 7. Kestrovan Production - Cancellation: Ask Kestrovan Production for a softer early step, and what they owe if they cancel.; 8. Kestrovan Production - Certificate of insurance: Ask Kestrovan Production for the certificate in writing before load-in, naming the parties the venue requires.; 9. Garrowfen Guarding - Failure remedy: Ask Garrowfen Guarding to write the stated remedy into the contract against the brief's window.; 10. Garrowfen Guarding - Headcount moves: Ask Garrowfen Guarding to confirm the fixed scope in writing against the brief.; 11. Garrowfen Guarding - Cancellation: Ask Garrowfen Guarding for a softer early step, and what they owe if they cancel.; 12. Garrowfen Guarding - Certificate of insurance: Ask Garrowfen Guarding for the certificate in writing before load-in, naming the parties the venue requires.; 13. Threadvelle Merch - Failure remedy: Ask Threadvelle Merch to write the stated remedy into the contract against the brief's window.; 14. Threadvelle Merch - Headcount moves: Ask Threadvelle Merch to confirm the fixed scope in writing against the brief.; 15. Threadvelle Merch - Cancellation: Ask Threadvelle Merch for a softer early step, and what they owe if they cancel.; 16. Threadvelle Merch - Certificate of insurance: Ask Threadvelle Merch what liability cover they carry, in writing, before committing.; 17. Copplestrand Print - Failure remedy: Ask Copplestrand Print to write the stated remedy into the contract against the brief's window.; 18. Copplestrand Print - Headcount moves: Ask Copplestrand Print to confirm the fixed scope in writing against the brief.; 19. Copplestrand Print - Cancellation: Ask Copplestrand Print for a softer early step, and what they owe if they cancel.; 20. Copplestrand Print - Certificate of insurance: Ask Copplestrand Print what liability cover they carry, in writing, before committing.",
"categories": "K1. Catering | bundled (the venue mandates its own supplier) | budget: USD 27,000 | commit-by: 2027-03-04 | needed: 2027-03-18 12:00 | prior: none | venue fee: none | brief says: the venue's own caterer: plated lunch x 450 at 12:00 and two coffee breaks; dietary counts: vegetarian 70, vegan 25, gluten-free 18, halal 12, kosher 4, nut allergy 6; who serves: the venue's staff; allergen menu posted at check-in | brief gaps: not briefed (bundled)\nK2. AV and production | open (an outside supplier allowed with a fee) | budget: USD 14,000 | commit-by: 2027-02-15 | needed: 2027-03-18 08:30 | prior: none | venue fee: USD 1,500 | brief says: per the production spec v2, attached unchanged: 2 rooms, 3 cameras, recording off the board, 2 crew per room, crew window 07:00-19:00; load-in 2027-03-17 18:00-22:00 and load-out by 21:00 on the day; rehearsal and edited recordings priced separately; directed on the day by the production lead; budget range 12,000-15,000 stated | brief gaps: none\nK3. Security | open (open - yours to source) | budget: USD 4,000 | commit-by: 2027-03-01 | needed: 2027-03-18 08:00 | prior: yes Garrowfen Guarding | venue fee: none | brief says: 3 guards x 11 hours: 2 door posts and 1 roaming, as the venue requires; the fire marshal is the venue's; a written post order requested; licences and insurance asked; own employees or subcontracted asked | brief gaps: the incident-report practice\nK4. Swag | open (open - yours to source) | budget: USD 6,500 | commit-by: 2027-02-01 | needed: 2027-03-11 | prior: none | venue fee: none | brief says: 450 t-shirts by size and fit: XS 5, S 60, M 180, L 120, XL 50, 2XL 20, 3XL 10, 4XL 5; size range XS-5XL required; unisex and fitted in the same colour; tri-blend; artwork: 2-colour front print, vector file from us; in-hand date 2027-03-11; unopened surplus returnable | brief gaps: none\nK5. Print | open (open - yours to source) | budget: USD 2,000 | commit-by: 2027-02-25 | needed: 2027-03-11 | prior: yes Copplestrand Print | venue fee: none | brief says: 450 badges and 20 signs; artwork PDF from us, proof included; in-hand date 2027-03-11; delivered to the venue's receiving dock | brief gaps: none",
"quotes": "Q1. AV and production | Brellwyn AV | headline: 9,800 | line items: crew 4 x 12h included (07:00-19:00); equipment included; transport 600; setup/strike 2,400; overtime 4 crew x 3h at 95; tax 8% | headcount basis: lump sum for 2 rooms - does not move with headcount | cancellation: 2027-01-31: 25%; 2027-03-04: 50%; 2027-03-11: 100% | failure remedy: none stated | insurance certificate: certificate offered; venue and organizer named additional insured | lead time: 4 weeks | valid until: 2027-02-28 | on our brief: yes\nQ2. AV and production | Kestrovan Production | headline: 12,400 | line items: crew included, window 06:30-20:00; equipment included; transport included; setup/strike included; overtime none expected inside the window; tax 8% | headcount basis: lump sum for 2 rooms | cancellation: 2027-02-15: 30%; 2027-03-11: 100% | failure remedy: 20% of the invoice credited for each hour of late setup; a failed recording re-shot at their cost | insurance certificate: certificate offered; additional insured on request | lead time: 3 weeks | valid until: 2027-02-20 | on our brief: yes\nQ3. AV and production | Lumarde Stage Co | headline: 11,200 | line items: crew included; equipment included; delivery 350; setup/strike included; overtime 2 crew x 2h at 85; tax 8% | headcount basis: lump sum | cancellation: 2027-03-01: 50% | failure remedy: credit for late setup | insurance certificate: certificate offered | lead time: 3 weeks | valid until: 2027-03-15 | on our brief: no\nQ4. Security | Garrowfen Guarding | headline: 42 per guard-hour x 3 guards x 11h | line items: supervisor 4h at 55; overtime 1.5x after 11 hours; tax 8% | headcount basis: 3 guards, fixed | cancellation: 2027-03-11: 50% | failure remedy: a replacement guard within 1 hour, or that hour credited | insurance certificate: certificate offered; organizer and venue named additional insured | lead time: 1 week | valid until: 2027-03-01 | on our brief: yes\nQ5. Swag | Threadvelle Merch | headline: 13.50 per shirt x 450 | line items: screen setup 180; shipping 240; tax 8% | headcount basis: 450 fixed; sizes final on 2027-01-25 | cancellation: 2027-01-25: 100% once printed | failure remedy: defective units reprinted; no credit for late delivery | insurance certificate: none offered | lead time: 10 weeks (fitted tri-blend backordered) | valid until: 2027-01-31 | on our brief: yes\nQ6. Print | Copplestrand Print | headline: 1,450 | line items: delivery 120; tax 8% | headcount basis: fixed quantity | cancellation: 2027-03-01: 100% | failure remedy: reprint at their cost if the proof was right | insurance certificate: none offered | lead time: 2 weeks | valid until: 2027-03-31 | on our brief: yes",
"contracts": "C1. Brellwyn AV (Q1) - 5 excerpts:\n[cancellation] Cancellation: 25% of the total from 2027-01-31, 50% from 2027-03-04 and 100% from 2027-03-11.\n[substitution] Brellwyn may substitute equipment of equal or better specification without notice.\n[liability] The client shall indemnify Brellwyn against all claims arising at the venue.\n[liability, force majeure] Neither party is liable for a failure to perform caused by force majeure.\n[deposit] A deposit of 25% is due on signature.\n[... 174 characters of this text carried no term keyword or passed the cap and were not sent; the page read all of it ...]",
"facts": "Verdict: fix first (5 fix-level findings; stage: every open category has a complete pick with a stated remedy - a commit question)\nDisclaimer: Not legal advice: contract wording goes to whoever reads contracts for the team, and the page shows what a clause says, never what it means. No supplier prices and no benchmark are supplied - all-in quotes on one identical brief are the only benchmark for this city, this size and this year.\nSelf-set lines: the headcount band 15% either way (383 and 518); a near commit-by date within 21 days; a category dominant at 20% of the open budget; a low effort ceiling under 20 organizer hours; the certificate ask gated at 300 attendees. Reference values used: catering ordered 2-4 weeks out (taken at 4 weeks), a security firm may take a week, catering buffers 30-60 minutes plated and 60-90 family-style, late-order padding up to 30% per size and style.\nAssumptions labelled on the page: a percentage charge with no stated basis applies to the whole invoice; tax applies last, after any service charge (the reference states no order); a cancellation percentage is priced on the all-in total at the headcount; the venue's outside-supplier fee sits outside the supplier's percentages.\nCategories (5), in order:\n- K1 Catering: status bundled (the venue mandates its own supplier); budget USD 27,000; posture pick: Venue-bundled supplier; depth pick: none; pick: none yet\n Sourcing posture - Catering (pick: Venue-bundled supplier): 1. Venue-bundled supplier [made the pick by step 2: the venue mandates its own supplier]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Referred single-source (the venue mandates its own supplier - there is no market to source); Multi-quote on one identical brief (the venue mandates its own supplier - there is no market to source); Volunteer substitution (a bundled category is the venue's to staff). Notes: Do not use any negotiation tactic on a supplier the venue mandates - there is no alternative, and the leverage they assume does not exist.\n- K2 AV and production: status open (an outside supplier allowed with a fee); budget USD 14,000 (53% of the open budget, dominant); posture pick: Multi-quote on one identical brief; depth pick: Failure-terms read; pick: Kestrovan Production\n Sourcing posture - AV and production (pick: Multi-quote on one identical brief): 1. Multi-quote on one identical brief [promoted by Q9: the number is quoted onward to a sponsor or a board and has to be defensible; made the pick by the budget: AV and production is one of the lines that dominate it (53% of the open budget; dominant at 20%, self-set); made the pick by Q4: no referral exists in this category]; 2. Referred single-source. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves AV and production open, with a fee to allow an outside supplier); Volunteer substitution (the skill names volunteer substitution only for some of catering and front-of-house - it is not a rung here)\n Quote-comparison depth - AV and production (pick: Failure-terms read): 1. Failure-terms read; 2. Reference check [promoted by the supplier is new to you, with no referral behind them]; 3. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; the production specification, attached unchanged present; load-in and load-out windows present; rehearsal and post-event deliverables priced separately present; who directs them on the day present; a budget range in the request present\n- K3 Security: status open (open - yours to source); budget USD 4,000 (15% of the open budget); posture pick: Referred single-source; depth pick: Failure-terms read; pick: Garrowfen Guarding\n Sourcing posture - Security (pick: Referred single-source): 1. Referred single-source [made the pick by Q8: a supplier from last edition (Garrowfen Guarding) promotes its own rung above everything else]; 2. Multi-quote on one identical brief [promoted by Q9: the number is quoted onward to a sponsor or a board and has to be defensible]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves security open); Volunteer substitution (the skill: security staffing carries a licensing and crowd-safety obligation - volunteers can staff a door, never the licensed work)\n Quote-comparison depth - Security (pick: Failure-terms read): 1. Failure-terms read; 2. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted); Reference check (Q8: a prior edition's own record of this supplier replaces it - you are the reference). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; what the building requires: posts, hours, fire marshal present; a written post order requested present; licences and insurance asked, not asserted present; own employees or subcontracted present; the incident-report practice MISSING\n- K4 Swag: status open (open - yours to source); budget USD 6,500 (25% of the open budget, dominant); posture pick: Multi-quote on one identical brief; depth pick: Reference check; pick: Threadvelle Merch\n Sourcing posture - Swag (pick: Multi-quote on one identical brief): 1. Multi-quote on one identical brief [demoted by Q5: a near commit-by date (2027-02-01, within 21 days - self-set) demotes anything needing three quotes; promoted by Q9: the number is quoted onward to a sponsor or a board and has to be defensible; made the pick by Q4: no referral exists in this category]; 2. Referred single-source. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves swag open); Volunteer substitution (the skill names volunteer substitution only for some of catering and front-of-house - it is not a rung here)\n Quote-comparison depth - Swag (pick: Reference check): 1. Reference check [promoted by the supplier is new to you, with no referral behind them; promoted by one comparable quote - their failure has no fallback in the category]; 2. Failure-terms read; 3. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; quantity by size, not a total present; the size range, stated as a requirement present; fit options present; the fabric present; the artwork specification present; a hard in-hand date, not a ship date present; whether unopened surplus can be returned present\n- K5 Print: status open (open - yours to source); budget USD 2,000 (8% of the open budget); posture pick: Referred single-source; depth pick: Failure-terms read; pick: Copplestrand Print\n Sourcing posture - Print (pick: Referred single-source): 1. Referred single-source [made the pick by Q8: a supplier from last edition (Copplestrand Print) promotes its own rung above everything else]; 2. Multi-quote on one identical brief [promoted by Q9: the number is quoted onward to a sponsor or a board and has to be defensible]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves print open); Volunteer substitution (the skill names volunteer substitution only for some of catering and front-of-house - it is not a rung here)\n Quote-comparison depth - Print (pick: Failure-terms read): 1. Failure-terms read; 2. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted); Reference check (Q8: a prior edition's own record of this supplier replaces it - you are the reference). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; the artwork specification present; a hard in-hand date present; receiving at the venue present\nComparison, every quote, all-in at 450 (the headcount), at 383 and 518 (the band, self-set), per head at 450; only within a category:\n- Q1 AV and production / Brellwyn AV: all-in USD 16,555; per head USD 36.79; at 383 USD 16,555; at 518 USD 16,555; flags: [cheapest headline; over budget by USD 2,555] | compared: yes\n built from: headline USD 9,800 (9,800) + delivery or transport USD 600 (transport 600) + setup and teardown USD 2,400 (setup/strike 2,400) + overtime USD 1,140 (overtime 4 crew x 3h at 95) + tax USD 1,115 (8% of the subtotal) + the venue's outside-supplier fee USD 1,500 (from the venue's answer)\n- Q2 AV and production / Kestrovan Production: all-in USD 14,892; per head USD 33.09; at 383 USD 14,892; at 518 USD 14,892; flags: [over budget by USD 892; lowest all-in] | compared: yes\n built from: headline USD 12,400 (12,400) + tax USD 992 (8% of the subtotal) + the venue's outside-supplier fee USD 1,500 (from the venue's answer)\n- Q3 AV and production / Lumarde Stage Co: all-in USD 14,341; per head USD 31.87; at 383 USD 14,341; at 518 USD 14,341; flags: [not on our brief; over budget by USD 341] | compared: no - not on the brief or not valid\n built from: headline USD 11,200 (11,200) + delivery or transport USD 350 (delivery 350) + overtime USD 340 (overtime 2 crew x 2h at 85) + tax USD 951 (8% of the subtotal) + the venue's outside-supplier fee USD 1,500 (from the venue's answer)\n- Q4 Security / Garrowfen Guarding: all-in USD 1,734; per head USD 3.85; at 383 USD 1,734; at 518 USD 1,734; flags: [none] | compared: yes\n built from: headline USD 1,386 (42 per guard-hour x 3 guards x 11h) + staff USD 220 (supervisor 4h at 55) + tax USD 128 (8% of the subtotal)\n- Q5 Swag / Threadvelle Merch: all-in USD 7,015; per head USD 15.59; at 383 USD 7,015; at 518 USD 7,015; flags: [expires before commit-by; over budget by USD 515] | compared: yes\n built from: headline USD 6,075 (13.50 per shirt x 450) + setup and teardown USD 180 (screen setup 180) + delivery or transport USD 240 (shipping 240) + tax USD 520 (8% of the subtotal)\n- Q6 Print / Copplestrand Print: all-in USD 1,696; per head USD 3.77; at 383 USD 1,696; at 518 USD 1,696; flags: [none] | compared: yes\n built from: headline USD 1,450 (1,450) + delivery or transport USD 120 (delivery 120) + tax USD 126 (8% of the subtotal)\nPicks per category (lowest all-in at the likely headcount 383 among comparable quotes): AV and production - Kestrovan Production; Security - Garrowfen Guarding; Swag - Threadvelle Merch; Print - Copplestrand Print\nContract terms, per pick:\n- Kestrovan Production / Failure remedy: stated | ask: the stated remedy written into the contract against the brief's window (the remedy is what the contract's failure terms turn out to be worth)\n- Kestrovan Production / Headcount moves: fixed price - does not move with the headcount | ask: the fixed scope confirmed in writing against the brief (a lump sum moves only when the scope does)\n- Kestrovan Production / Cancellation: 2027-02-15 30% USD 4,468; 2027-03-11 100% USD 14,892 | ask: a softer early step, and what they owe if they cancel - usually far weaker than what you owe (the schedule, not \"cancellation fees may apply\")\n- Kestrovan Production / Certificate of insurance: offered; additional insured | ask: a certificate naming the venue and the organizer as additional insured, as the venue's contract requires (two directions: what the supplier carries, and what the venue requires of you flowing down)\n- Garrowfen Guarding / Failure remedy: stated | ask: the stated remedy written into the contract against the brief's window (the remedy is what the contract's failure terms turn out to be worth)\n- Garrowfen Guarding / Headcount moves: fixed price - does not move with the headcount | ask: the fixed scope confirmed in writing against the brief (a lump sum moves only when the scope does)\n- Garrowfen Guarding / Cancellation: 2027-03-11 50% USD 867 | ask: a softer early step, and what they owe if they cancel - usually far weaker than what you owe (the schedule, not \"cancellation fees may apply\")\n- Garrowfen Guarding / Certificate of insurance: offered; additional insured | ask: a certificate naming the venue and the organizer as additional insured, as the venue's contract requires (two directions: what the supplier carries, and what the venue requires of you flowing down)\n- Threadvelle Merch / Failure remedy: stated | ask: the stated remedy written into the contract against the brief's window (the remedy is what the contract's failure terms turn out to be worth)\n- Threadvelle Merch / Headcount moves: fixed price - does not move with the headcount | ask: the fixed scope confirmed in writing against the brief (a lump sum moves only when the scope does)\n- Threadvelle Merch / Cancellation: 2027-01-25 100% USD 7,015 | ask: a softer early step, and what they owe if they cancel - usually far weaker than what you owe (the schedule, not \"cancellation fees may apply\")\n- Threadvelle Merch / Certificate of insurance: none offered | ask: a certificate naming the venue and the organizer as additional insured, as the venue's contract requires (two directions: what the supplier carries, and what the venue requires of you flowing down)\n- Copplestrand Print / Failure remedy: stated | ask: the stated remedy written into the contract against the brief's window (the remedy is what the contract's failure terms turn out to be worth)\n- Copplestrand Print / Headcount moves: fixed price - does not move with the headcount | ask: the fixed scope confirmed in writing against the brief (a lump sum moves only when the scope does)\n- Copplestrand Print / Cancellation: 2027-03-01 100% USD 1,696 | ask: a softer early step, and what they owe if they cancel - usually far weaker than what you owe (the schedule, not \"cancellation fees may apply\")\n- Copplestrand Print / Certificate of insurance: none offered | ask: a certificate naming the venue and the organizer as additional insured, as the venue's contract requires (two directions: what the supplier carries, and what the venue requires of you flowing down)\nOrder schedule, earliest first:\n- Swag: order by 2026-12-31 (ALREADY LATE as of 2027-01-20) - the quote's 10 weeks before the in-hand date 2027-03-11, earlier than the commit-by date 2027-02-01\n- AV and production: order by 2027-02-15 - the commit-by date - it binds before the quote's 3 weeks before the need date 2027-03-18\n- Catering: order by 2027-02-18 - the reference's 2-4 weeks, taken at 4 weeks before the need date 2027-03-18, earlier than the commit-by date 2027-03-04; the venue's deadline - ask it, it is typically earlier than an outside supplier's\n- Print: order by 2027-02-25 - the commit-by date - it binds before the quote's 2 weeks before the in-hand date 2027-03-11\n- Security: order by 2027-03-01 - the commit-by date - it binds before the reference's week before the need date 2027-03-18\nDay-of delivery sheet:\n- Harbrell Hall catering (the venue's own) (Catering): location Harbrell Hall kitchen, level 1; window 10:45-11:30; contact Pria Vantrell, +1 555 0144; backup +1 555 0145; pickup the venue's staff clear at 16:00; deliver 30-60 minutes before serving at 12:00 (plated); arrives more than 60 minutes before serving - the risk is temperature\n- Kestrovan Production (AV and production): location Mill Lane dock, then the main hall; window 2027-03-17 18:00-22:00; contact Sam Reyes, production lead, +1 555 0150; backup +1 555 0151; pickup load-out from 19:00 on the day; ready by 08:30 - no reference buffer\n- Garrowfen Guarding (Security): location main entrance, Quay Road; window 07:15-07:45; contact Dana Okafor, +1 555 0100; backup +1 555 0101; pickup none; ready by 08:00 - no reference buffer\n- Threadvelle Merch (Swag): location Mill Lane dock; window 2027-03-11 09:00-12:00; contact Leo Park, +1 555 0160; backup none; pickup none; no reference buffer\n- Copplestrand Print (Print): location to be named; window to be named; contact to be named; backup none; pickup to be named; no reference buffer\nHand-offs: timing to event-planning-timeline (Swag - order by 2026-12-31; AV and production - order by 2027-02-15; Catering - order by 2027-02-18; Print - order by 2027-02-25; Security - order by 2027-03-01); delivery windows to event-run-of-show (Harbrell Hall catering (the venue's own) - 10:45-11:30 at Harbrell Hall kitchen, level 1, contact Pria Vantrell, +1 555 0144; Kestrovan Production - 2027-03-17 18:00-22:00 at Mill Lane dock, then the main hall, contact Sam Reyes, production lead, +1 555 0150; Garrowfen Guarding - 07:15-07:45 at main entrance, Quay Road, contact Dana Okafor, +1 555 0100; Threadvelle Merch - 2027-03-11 09:00-12:00 at Mill Lane dock, contact Leo Park, +1 555 0160; Copplestrand Print - to be named at to be named, contact to be named).\nTactics, each tagged generic negotiation practice or event-supplier practice: Specific target, trade-off in the supplier's hands [supplier]; Non-monetary asks [supplier]; Real alternative [generic]; Calibrated questions [generic]; Labelling [generic]; Mirroring [generic]; Accusation audit [generic]; Decreasing-increment concessions [generic]. The generic tactics come from generic negotiation practice, not event-supplier practice, and assume this call; none applies to a supplier the venue mandates.\nBrief: reply by 2027-01-29; contact \"Dana Okafor, +1 555 0100; backup +1 555 0101\"; quote format: One all-in total at our headcount: the unit price and every add-on inside it / Each add-on priced separately: delivery or travel, staff, service charge or gratuity and what it applies to, equipment, setup and teardown, overtime beyond a stated window, taxes / The total at our headcount moved down and up, and until when it can move / The deposit, the balance dates and the cancellation schedule as dated steps / How long the quote is valid\nQuestions for AV and production: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Will you quote against the written specification without substituting your own package? / Are crew hours quoted with a stated window and a named overtime rate? / What is the remedy if a recording fails? / Is a rehearsal or technical check inside the quote? / Do the crew hold CTS or an equivalent credential?\nQuestions for Security: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Will you produce a written post order before the event - each post, the guards on it, their hours? / What licences and insurance do the firm and its staff hold, and are the guards your own employees or subcontracted? / What does your incident report capture, who writes it, and how long are records kept?\nQuestions for Swag: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Does the line genuinely cover the full size range, 3XL to 5XL included, in this style? / Can unopened surplus be returned? / Will you hold the order or ship to the venue, and to what receiving address?\nQuestions for Print: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Will you deliver to the venue's receiving dock, and on what date? / What file formats and colour profile do you need, and is a proof included?\nPasted text: C1 Brellwyn AV - 5 keyword sentences, 174 characters not sent\nFindings (26):\n[fix] over_av (comparison): AV and production: the pick, Kestrovan Production, is USD 892 over the budget line - and the number is quoted onward (Q9), so it has to be defensible before it goes to the sponsor or board.\n[fix] over_swag (comparison): Swag: the pick, Threadvelle Merch, is USD 515 over the budget line - and the number is quoted onward (Q9), so it has to be defensible before it goes to the sponsor or board.\n[fix] late_swag (schedule): Swag: the order-by date 2026-12-31 has passed (as of 2027-01-20) - ask for stock and the in-hand date in writing now; ordering only a few weeks out, pad by up to 30% per size and style (the reference's late-order hedge), or drop it.\n[fix] dc_print_4 (day-of): Copplestrand Print: no named on-site contact - the supplier arrives, calls the one number they were given, and nobody answers.\n[fix] dloc_print_4 (day-of): Copplestrand Print: no exact delivery location - building, entrance, dock, room, not the event's marketing address.\n[check] brief_security (brief): Security brief is missing: the incident-report practice.\n[check] brief_q3 (quotes): Lumarde Stage Co quoted in its own shape, not on the identical brief - two suppliers cannot be compared on two different questions; re-quote it on the brief or leave it out. It is not compared.\n[check] expc_q5 (quotes): Threadvelle Merch: the quote expires 2027-01-31, before the commit-by date 2027-02-01.\n[check] coi_swag (terms): Swag: Threadvelle Merch offers no certificate of insurance - a supplier who cannot produce one is a supplier whose failure lands entirely on you.\n[check] coi_print (terms): Print: Copplestrand Print offers no certificate of insurance - a supplier who cannot produce one is a supplier whose failure lands entirely on you.\n[check] subst_1 (contracts): Brellwyn AV: the text reserves a right to substitute - unconstrained substitution makes the specification decorative; send the wording to whoever reads contracts for the team.\n[check] fm_1 (contracts): Brellwyn AV: a force majeure clause is in the text - send it to whoever reads contracts for the team; the page does not assess what it covers.\n[check] dw_catering_0_0 (day-of): Harbrell Hall catering (the venue's own): the window 10:45-11:30 arrives more than 60 minutes before serving - the risk is temperature.\n[check] db_swag_3 (day-of): Threadvelle Merch: no backup number - the field most often left empty.\n[info] hc_estimate (interview): Q2: the headcount is an estimate, so the totals at 383 and 518 (15% either way, self-set) matter as much as the one at 450.\n[info] format_av (interview): Q2: a recorded conference's spend concentrates in AV; one that publishes nothing barely needs it.\n[info] bundled_catering (venue): Catering: the venue mandates its own supplier - sourcing collapses to a form and a headcount, with no price comparison and no separate certificate to chase; the deadline is the venue's (2027-03-04).\n[info] rateonly_q4_0 (quotes): Garrowfen Guarding: \"overtime 1.5x after 11 hours\" is a rate with no expected hours - ask when the window starts and how long overtime is likely to run.\n[info] headline_av (comparison): AV and production: Brellwyn AV has the cheapest headline and the highest all-in total - the grid changed the answer.\n[info] coi_gate (terms): The venue's insurance requirement reaches suppliers, so every open supplier is asked for a certificate naming the venue and the organizer. Which cover the event itself buys is event-risk-management's decision.\n[info] sec_cut_1 (contracts): Brellwyn AV: 542 characters pasted; the 5 excerpts with a term keyword (440 characters) are sent, the other 174 characters were read by the page and not sent.\n[info] cmiss_1_failure (contracts): Brellwyn AV: no failure remedy wording found in the pasted text - ask where it is.\n[info] cmiss_1_insurance (contracts): Brellwyn AV: no insurance wording found in the pasted text - ask where it is.\n[info] earliest_spend (schedule): The earliest deadline is swag (2026-12-31), not the largest spend, catering - order in deadline order; planning forward does the biggest thing first and misses the earliest.\n[info] rehearsal (schedule): AV and production: if the event streams, the rehearsal with the actual setup is a date on this schedule and a line in the quote, with a named person running the stream.\n[info] disclaimer (honesty): Not legal advice: contract wording goes to whoever reads contracts for the team, and the page shows what a clause says, never what it means. No supplier prices and no benchmark are supplied - all-in quotes on one identical brief are the only benchmark for this city, this size and this year."
}
Reply:
{
"task": "brief",
"briefs": [
{
"category": "AV and production",
"about": "Quillmere DevConf 2027 is a one-day conference on 2027-03-18 at Harbrell Hall, Quay Road, for an expected 450 people.",
"supply": [
"2 rooms, 3 cameras and recording off the board, per the production specification attached unchanged",
"2 crew per room inside a stated window",
"Rehearsal and edited recordings priced separately"
],
"basis": "450 people, an estimate that locks on 2027-03-04 and is likely to move down.",
"quote_format": [
"One all-in total at our headcount, with the unit price and every add-on inside it",
"Each add-on priced separately: delivery, staff, service charge and what it applies to, equipment, setup and teardown, overtime, taxes",
"The total at our headcount moved down and up, and until when it can move",
"The deposit, the balance dates and the cancellation schedule as dated steps",
"How long the quote is valid"
],
"questions": [
"Until when can the headcount move, in which direction, and at what cost?",
"What is the cancellation schedule, as dated steps - and what happens if you cancel?",
"What is the remedy if delivery is late or short, in the contract?",
"What liability cover do you carry, and will you name us as additional insured where the venue requires it?",
"What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing?",
"Will you quote against the written specification without substituting your own package?",
"Are crew hours quoted with a stated window and a named overtime rate?",
"What is the remedy if a recording fails?",
"Is a rehearsal or technical check inside the quote?",
"Do the crew hold CTS or an equivalent credential?"
],
"reply_by": "2027-01-29",
"contact": "Dana Okafor, +1 555 0100; backup +1 555 0101"
},
{
"category": "Security",
"about": "Quillmere DevConf 2027 is a one-day conference on 2027-03-18 at Harbrell Hall, Quay Road, for an expected 450 people.",
"supply": [
"3 guards for 11 hours: 2 door posts and 1 roaming",
"A written post order before the event"
],
"basis": "450 people, an estimate that locks on 2027-03-04 and is likely to move down.",
"quote_format": [
"One all-in total at our headcount, with the unit price and every add-on inside it",
"Each add-on priced separately: delivery, staff, service charge and what it applies to, equipment, setup and teardown, overtime, taxes",
"The total at our headcount moved down and up, and until when it can move",
"The deposit, the balance dates and the cancellation schedule as dated steps",
"How long the quote is valid"
],
"questions": [
"Until when can the headcount move, in which direction, and at what cost?",
"What is the cancellation schedule, as dated steps - and what happens if you cancel?",
"What is the remedy if delivery is late or short, in the contract?",
"What liability cover do you carry, and will you name us as additional insured where the venue requires it?",
"What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing?",
"Will you produce a written post order before the event - each post, the guards on it, their hours?",
"What licences and insurance do the firm and its staff hold, and are the guards your own employees or subcontracted?",
"What does your incident report capture, who writes it, and how long are records kept?"
],
"reply_by": "2027-01-29",
"contact": "Dana Okafor, +1 555 0100; backup +1 555 0101"
},
{
"category": "Swag",
"about": "Quillmere DevConf 2027 is a one-day conference on 2027-03-18 at Harbrell Hall, Quay Road, for an expected 450 people.",
"supply": [
"450 t-shirts by size and fit, XS to 4XL, with the size range to 5XL in the line",
"Tri-blend, unisex and fitted in the same colour, a 2-colour front print from our vector file"
],
"basis": "450 people, an estimate that locks on 2027-03-04 and is likely to move down.",
"quote_format": [
"One all-in total at our headcount, with the unit price and every add-on inside it",
"Each add-on priced separately: delivery, staff, service charge and what it applies to, equipment, setup and teardown, overtime, taxes",
"The total at our headcount moved down and up, and until when it can move",
"The deposit, the balance dates and the cancellation schedule as dated steps",
"How long the quote is valid"
],
"questions": [
"Until when can the headcount move, in which direction, and at what cost?",
"What is the cancellation schedule, as dated steps - and what happens if you cancel?",
"What is the remedy if delivery is late or short, in the contract?",
"What liability cover do you carry, and will you name us as additional insured where the venue requires it?",
"What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing?",
"Does the line genuinely cover the full size range, 3XL to 5XL included, in this style?",
"Can unopened surplus be returned?",
"Will you hold the order or ship to the venue, and to what receiving address?"
],
"reply_by": "2027-01-29",
"contact": "Dana Okafor, +1 555 0100; backup +1 555 0101"
},
{
"category": "Print",
"about": "Quillmere DevConf 2027 is a one-day conference on 2027-03-18 at Harbrell Hall, Quay Road, for an expected 450 people.",
"supply": [
"450 badges and 20 signs from our PDF, with a proof",
"Delivered to the venue's receiving dock by the in-hand date"
],
"basis": "450 people, an estimate that locks on 2027-03-04 and is likely to move down.",
"quote_format": [
"One all-in total at our headcount, with the unit price and every add-on inside it",
"Each add-on priced separately: delivery, staff, service charge and what it applies to, equipment, setup and teardown, overtime, taxes",
"The total at our headcount moved down and up, and until when it can move",
"The deposit, the balance dates and the cancellation schedule as dated steps",
"How long the quote is valid"
],
"questions": [
"Until when can the headcount move, in which direction, and at what cost?",
"What is the cancellation schedule, as dated steps - and what happens if you cancel?",
"What is the remedy if delivery is late or short, in the contract?",
"What liability cover do you carry, and will you name us as additional insured where the venue requires it?",
"What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing?",
"Will you deliver to the venue's receiving dock, and on what date?",
"What file formats and colour profile do you need, and is a proof included?"
],
"reply_by": "2027-01-29",
"contact": "Dana Okafor, +1 555 0100; backup +1 555 0101"
}
],
"delivery": [
{
"supplier": "Harbrell Hall catering (the venue's own)",
"location": "Harbrell Hall kitchen, level 1",
"window": "10:45-11:30",
"contact": "Pria Vantrell, +1 555 0144",
"note": "The window starts more than an hour before the plated lunch, so ask the venue to move it closer to the serving time."
},
{
"supplier": "Kestrovan Production",
"location": "Mill Lane dock, then the main hall",
"window": "2027-03-17 18:00-22:00",
"contact": "Sam Reyes, production lead, +1 555 0150",
"note": "Load-in is the evening before, inside the venue's access hours, and ready by the morning start."
},
{
"supplier": "Garrowfen Guarding",
"location": "main entrance, Quay Road",
"window": "07:15-07:45",
"contact": "Dana Okafor, +1 555 0100",
"note": "Guards arrive before the doors open and are on post by the start time."
},
{
"supplier": "Threadvelle Merch",
"location": "Mill Lane dock",
"window": "2027-03-11 09:00-12:00",
"contact": "Leo Park, +1 555 0160",
"note": "Shirts arrive on the in-hand date at the dock; stock is still to be confirmed in writing."
},
{
"supplier": "Copplestrand Print",
"location": "to be named",
"window": "to be named",
"contact": "to be named",
"note": "The location, the window and the contact are still to be named."
}
],
"disclaimer": "This is not legal advice: contract wording goes to whoever reads contracts for the team, and the page supplies no supplier prices and no benchmark - only the all-in quotes in the input.",
"note": "Not ready to send: the swag order date has already passed and the AV and swag picks are over budget - confirm swag stock in writing and settle the AV price first."
}
The page's check: kept - nothing to flag
Granite City Data Summit (venue not answered) - compare
Verdict: ask the venue first; 220 people; 1 of 4 categories open; 3 quotes; 2 fix-level findings.
Input:
{
"task": "compare",
"event": "Event: Granite City Data Summit; date 2027-05-20; address: Lecture Centre, Granite City University, 5 College Walk; access hours the venue gave: doors 07:30-19:00; load-in from 07:00\nCategories (Q1): Catering - not yet answered in writing; AV and production - not yet answered in writing; Security - included in the venue's rental; Swag - open - yours to source\nFormat and headcount (Q2): conference; 220 people, from registrations so far; locks 2027-05-13; likely to move up; band 15% either way = 187 and 253 (self-set); run by a community\nUpstream (Q3): venue contract terms arrived; production specification not yet; insurance decision not needed; budget per category arrived; what the venue supplies and forbids: University security staff included; catering and AV policy still with the facilities office; no deliveries before 07:00; what the venue requires of us on insurance, verbatim: The organizer holds public liability of USD 1,000,000 for the lecture centre\nPrior suppliers (Q4): none\nCommit-by dates (Q5): Catering 2027-04-22; AV and production 2027-04-15; Security not set; Swag 2027-03-15; checked as of 2027-02-01\nEdition (Q6): one-off\nEffort ceiling (Q7): 30 organizer hours; someone will chase three quotes: yes; contracts are read by nobody; irreversibility the team can carry: low; negotiation channel: email\nAlready exists (Q8): an organizer in the trade for no category; a sponsor offering in kind: none; a prior marked-up contract: no\nQuoted onward (Q9): no\nBrief contacts: owner Mateo Silva, +1 555 0200; backup +1 555 0201; suppliers reply by 2027-02-12; currency USD",
"categories": "K1. Catering | blocked (not yet answered in writing) | budget: USD 9,000 | commit-by: 2027-04-22 | needed: 2027-05-20 12:30 | prior: none | venue fee: none | brief says: buffet lunch for 220 at 12:30 and an afternoon break; dietary counts to follow | brief gaps: not briefed (blocked)\nK2. AV and production | blocked (not yet answered in writing) | budget: USD 5,000 | commit-by: 2027-04-15 | needed: 2027-05-20 09:00 | prior: none | venue fee: none | brief says: 1 lecture theatre, 2 cameras, recording; the specification is still with the production lead | brief gaps: not briefed (blocked)\nK3. Security | bundled (included in the venue's rental) | budget: not set | commit-by: not set | needed: 2027-05-20 | prior: none | venue fee: none | brief says: nothing yet | brief gaps: not briefed (bundled)\nK4. Swag | open (open - yours to source) | budget: USD 2,400 | commit-by: 2027-03-15 | needed: 2027-05-13 | prior: none | venue fee: none | brief says: 220 stickers and 220 tote bags; artwork: vector file from us, 1 colour; in-hand date 2027-05-13 | brief gaps: whether unopened surplus can be returned",
"quotes": "Q1. Catering | Saffrabel Table | headline: 24 per head | line items: delivery 150; buffet staff 3 x 4h at 30; service charge 15%; equipment included; setup included; tax 7% | headcount basis: guarantee 220 by 2027-05-13; 10% free either way | cancellation: 2027-05-06: 50%; 2027-05-17: 100% | failure remedy: none stated | insurance certificate: none offered | lead time: 2 weeks | valid until: 2027-03-31 | on our brief: yes\nQ2. Catering | Brindlecrust Catering | headline: 21 per head | line items: delivery 200; tax 7% | headcount basis: minimum 200 covers; final numbers 2027-05-13 | cancellation: 2027-05-13: 100% | failure remedy: a credit for late delivery | insurance certificate: certificate offered | lead time: 10 days | valid until: 2027-04-30 | on our brief: yes\nQ3. Swag | Totterby Tags | headline: 2,150 | line items: shipping 90; setup included; tax 7% | headcount basis: fixed quantity | cancellation: 2027-03-20: 100% | failure remedy: reprint if defective | insurance certificate: none offered | lead time: 6 weeks | valid until: 2027-03-10 | on our brief: yes",
"contracts": "",
"facts": "Verdict: ask the venue first (2 fix-level findings; stage: still briefing and quoting)\nDisclaimer: Not legal advice: contract wording goes to whoever reads contracts for the team, and the page shows what a clause says, never what it means. No supplier prices and no benchmark are supplied - all-in quotes on one identical brief are the only benchmark for this city, this size and this year.\nSelf-set lines: the headcount band 15% either way (187 and 253); a near commit-by date within 21 days; a category dominant at 20% of the open budget; a low effort ceiling under 20 organizer hours; the certificate ask gated at 300 attendees. Reference values used: catering ordered 2-4 weeks out (taken at 4 weeks), a security firm may take a week, catering buffers 30-60 minutes plated and 60-90 family-style, late-order padding up to 30% per size and style.\nAssumptions labelled on the page: a percentage charge with no stated basis applies to the whole invoice; tax applies last, after any service charge (the reference states no order); a cancellation percentage is priced on the all-in total at the headcount; the venue's outside-supplier fee sits outside the supplier's percentages.\nCategories (4), in order:\n- K1 Catering: status blocked (not yet answered in writing); budget USD 9,000; posture pick: none yet; depth pick: none; pick: none yet\n none - the category is blocked until the venue answers\n- K2 AV and production: status blocked (not yet answered in writing); budget USD 5,000; posture pick: none yet; depth pick: none; pick: none yet\n none - the category is blocked until the venue answers\n- K3 Security: status bundled (included in the venue's rental); budget not set; posture pick: Venue-bundled supplier; depth pick: none; pick: none yet\n Sourcing posture - Security (pick: Venue-bundled supplier): 1. Venue-bundled supplier [made the pick by step 2: included in the venue's rental]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Referred single-source (the venue supplies it - there is no market to source); Multi-quote on one identical brief (the venue supplies it - there is no market to source); Volunteer substitution (a bundled category is the venue's to staff). Notes: Do not use any negotiation tactic on a supplier the venue mandates - there is no alternative, and the leverage they assume does not exist.\n- K4 Swag: status open (open - yours to source); budget USD 2,400 (100% of the open budget, dominant); posture pick: Multi-quote on one identical brief; depth pick: Reference check; pick: Totterby Tags\n Sourcing posture - Swag (pick: Multi-quote on one identical brief): 1. Multi-quote on one identical brief [made the pick by the budget: swag is one of the lines that dominate it (100% of the open budget; dominant at 20%, self-set); made the pick by Q4: no referral exists in this category]; 2. Referred single-source. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves swag open); Volunteer substitution (the skill names volunteer substitution only for some of catering and front-of-house - it is not a rung here)\n Quote-comparison depth - Swag (pick: Reference check): 1. Reference check [promoted by the supplier is new to you, with no referral behind them; promoted by one comparable quote - their failure has no fallback in the category]; 2. Failure-terms read; 3. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; the artwork specification present; a hard in-hand date, not a ship date present; whether unopened surplus can be returned MISSING\nComparison, every quote, all-in at 220 (the headcount), at 187 and 253 (the band, self-set), per head at 220; only within a category:\n- Q1 Catering / Saffrabel Table: all-in USD 7,125; per head USD 32.38; at 187 USD 6,475; at 253 USD 8,099; flags: [venue answer pending; expires before commit-by] | compared: no - not on the brief or not valid\n built from: headline USD 5,280 (24 x 220) + delivery or transport USD 150 (delivery 150) + staff USD 360 (buffet staff 3 x 4h at 30) + service charge USD 869 (15% of the whole invoice (the page's assumption - the quote names no basis)) + tax USD 466 (7% of the subtotal after the service charge (the page's assumption - the reference...) | assumptions: service charge 15%: on the whole invoice, the page's assumption - the quote names no basis; tax after the service charge, the page's assumption - the reference states no order\n- Q2 Catering / Brindlecrust Catering: all-in USD 5,157; per head USD 23.44; at 187 USD 4,708; at 253 USD 5,899; flags: [venue answer pending; incomplete: staff, service charge, equipment, setup and teardown] | compared: no - not on the brief or not valid\n built from: headline USD 4,620 (21 x 220) + delivery or transport USD 200 (delivery 200) + tax USD 337 (7% of the subtotal)\n- Q3 Swag / Totterby Tags: all-in USD 2,397; per head USD 10.89; at 187 USD 2,397; at 253 USD 2,397; flags: [expires before commit-by] | compared: yes\n built from: headline USD 2,150 (2,150) + delivery or transport USD 90 (shipping 90) + tax USD 157 (7% of the subtotal)\nPicks per category (lowest all-in at the likely headcount 253 among comparable quotes): Catering - none yet; AV and production - none yet; Swag - Totterby Tags\nContract terms, per pick:\n- Totterby Tags / Failure remedy: stated | ask: the stated remedy written into the contract against the brief's window (the remedy is what the contract's failure terms turn out to be worth)\n- Totterby Tags / Headcount moves: fixed price - does not move with the headcount | ask: the fixed scope confirmed in writing against the brief (a lump sum moves only when the scope does)\n- Totterby Tags / Cancellation: 2027-03-20 100% USD 2,397 | ask: a softer early step, and what they owe if they cancel - usually far weaker than what you owe (the schedule, not \"cancellation fees may apply\")\n- Totterby Tags / Certificate of insurance: none offered | ask: what they carry, in writing - at this scale an enterprise-shaped certificate mostly costs you the supplier (two directions: what the supplier carries, and what the venue requires of you flowing down)\nOrder schedule, earliest first:\n- Swag: order by 2027-03-15 - the commit-by date - it binds before the quote's 6 weeks before the in-hand date 2027-05-13\n- AV and production: order by 2027-04-15 - the commit-by date (no standard lead time - the reference says so; what matters more is the rehearsal date)\n- Catering: order by 2027-04-22 - the commit-by date - it binds before the reference's 2-4 weeks, taken at 4 weeks before the need date 2027-05-20\n- Security: order by 2027-05-13 - the reference's week before the need date 2027-05-20; the venue's deadline - ask it, it is typically earlier than an outside supplier's\nDay-of delivery sheet:\n- Totterby Tags (Swag): location to be named; window to be named; contact to be named; backup none; pickup to be named; no reference buffer\nHand-offs: timing to event-planning-timeline (Swag - order by 2027-03-15; AV and production - order by 2027-04-15; Catering - order by 2027-04-22; Security - order by 2027-05-13); delivery windows to event-run-of-show (Totterby Tags - to be named at to be named, contact to be named).\nTactics, each tagged generic negotiation practice or event-supplier practice: Specific target, trade-off in the supplier's hands [supplier]; Non-monetary asks [supplier]. The channel is email only: the generic negotiation tactics (mirroring, labelling, calibrated questions, the accusation audit, decreasing-increment concessions) assume a live conversation and are left out.\nBrief: reply by 2027-02-12; contact \"Mateo Silva, +1 555 0200; backup +1 555 0201\"; quote format: One all-in total at our headcount: the unit price and every add-on inside it / Each add-on priced separately: delivery or travel, staff, service charge or gratuity and what it applies to, equipment, setup and teardown, overtime beyond a stated window, taxes / The total at our headcount moved down and up, and until when it can move / The deposit, the balance dates and the cancellation schedule as dated steps / How long the quote is valid\nQuestions for Swag: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Does the line genuinely cover the full size range, 3XL to 5XL included, in this style? / Can unopened surplus be returned? / Will you hold the order or ship to the venue, and to what receiving address?\nFindings (15):\n[fix] ask_catering (venue): Catering: the venue has not answered in writing whether it supplies it, mandates its own supplier, permits an outside one or charges a fee - get that answer before evaluating a single supplier (step 2); venues, universities especially, frequently mandate their own catering.\n[fix] ask_av (venue): AV and production: the venue has not answered in writing whether it supplies it, mandates its own supplier, permits an outside one or charges a fee - get that answer before evaluating a single supplier (step 2).\n[check] bundled_security (venue): Security: included in the venue's rental - sourcing collapses to a form and a headcount, with no price comparison and no separate certificate to chase; the deadline is the venue's, and it is not entered - ask for it.\n[check] brief_swag (brief): Swag brief is missing: whether unopened surplus can be returned.\n[check] blk_q1 (quotes): Saffrabel Table: quoted before the venue answered for catering - effort spent on a supplier you may not be allowed to hire; it is not evaluated.\n[check] expc_q1 (quotes): Saffrabel Table: the quote expires 2027-03-31, before the commit-by date 2027-04-22.\n[check] blk_q2 (quotes): Brindlecrust Catering: quoted before the venue answered for catering - effort spent on a supplier you may not be allowed to hire; it is not evaluated.\n[check] expc_q3 (quotes): Totterby Tags: the quote expires 2027-03-10, before the commit-by date 2027-03-15.\n[check] dc_swag_0 (day-of): Totterby Tags: no named on-site contact - the supplier arrives, calls the one number they were given, and nobody answers.\n[check] dloc_swag_0 (day-of): Totterby Tags: no exact delivery location - building, entrance, dock, room, not the event's marketing address.\n[check] reader (terms): Nobody reads the contracts for the team (Q7) - the page shows what each term says, never what it means; a material commitment deserves a real reviewer.\n[info] format_av (interview): Q2: a recorded conference's spend concentrates in AV; one that publishes nothing barely needs it.\n[info] coi_gate (terms): At 220 attendees (under 300 - self-set) the certificate ask is gated down: ask what each supplier carries rather than an enterprise-shaped certificate. Which cover the event itself buys is event-risk-management's decision.\n[info] earliest_spend (schedule): The earliest deadline is swag (2027-03-15), not the largest spend, catering - order in deadline order; planning forward does the biggest thing first and misses the earliest.\n[info] disclaimer (honesty): Not legal advice: contract wording goes to whoever reads contracts for the team, and the page shows what a clause says, never what it means. No supplier prices and no benchmark are supplied - all-in quotes on one identical brief are the only benchmark for this city, this size and this year."
}
Reply:
{
"task": "compare",
"summary": "Ask the venue first: catering and AV have no written answer yet, so neither caterer quote can be evaluated; get the facilities office's answer in writing, then brief the open categories.",
"disclaimer": "This is not legal advice: contract wording goes to whoever reads contracts for the team, and the page supplies no supplier prices and no benchmark - only the all-in quotes in the input.",
"verdict": "ask the venue first",
"categories": [
{
"category": "Catering",
"status": "blocked",
"posture": "none yet",
"reason": "The venue has not answered in writing whether outside caterers are allowed, so the category is blocked."
},
{
"category": "AV and production",
"status": "blocked",
"posture": "none yet",
"reason": "The venue has not answered in writing whether outside AV is allowed, so the category is blocked."
},
{
"category": "Security",
"status": "bundled",
"posture": "Venue-bundled supplier",
"reason": "University security staff are included in the rental, so it is a form and a headcount."
},
{
"category": "Swag",
"status": "open",
"posture": "Multi-quote on one identical brief",
"reason": "Swag is open and has no referral, so it goes to more than one supplier on the identical brief."
}
],
"comparison": [
{
"category": "Catering",
"supplier": "Saffrabel Table",
"all_in": "USD 7,125",
"per_head": "USD 32.38",
"flags": [
"venue answer pending",
"expires before commit-by"
]
},
{
"category": "Catering",
"supplier": "Brindlecrust Catering",
"all_in": "USD 5,157",
"per_head": "USD 23.44",
"flags": [
"venue answer pending",
"incomplete: staff, service charge, equipment, setup and teardown"
]
},
{
"category": "Swag",
"supplier": "Totterby Tags",
"all_in": "USD 2,397",
"per_head": "USD 10.89",
"flags": [
"expires before commit-by"
]
}
],
"pick_per_category": [
{
"category": "Catering",
"supplier": "none yet",
"why": "No caterer can be picked until the venue answers; both quotes were collected before that answer."
},
{
"category": "AV and production",
"supplier": "none yet",
"why": "No AV supplier can be picked until the venue answers and the specification arrives."
},
{
"category": "Swag",
"supplier": "Totterby Tags",
"why": "Totterby Tags is the only comparable quote and it is inside the budget line."
}
],
"terms": [
{
"supplier": "Totterby Tags",
"term": "Failure remedy",
"exposure": "stated",
"ask": "Ask Totterby Tags to write the stated remedy into the contract against the brief's window."
},
{
"supplier": "Totterby Tags",
"term": "Headcount moves",
"exposure": "fixed price - does not move with the headcount",
"ask": "Ask Totterby Tags to confirm the fixed scope in writing against the brief."
},
{
"supplier": "Totterby Tags",
"term": "Cancellation",
"exposure": "2027-03-20 100% USD 2,397",
"ask": "Ask Totterby Tags for a softer early step, and what they owe if they cancel."
},
{
"supplier": "Totterby Tags",
"term": "Certificate of insurance",
"exposure": "none offered",
"ask": "Ask Totterby Tags what liability cover they carry, in writing, before committing."
}
],
"schedule": [
{
"category": "Swag",
"order_by": "2027-03-15",
"why_then": "The commit-by date binds before the six-week lead time, so swag is the first decision."
},
{
"category": "AV and production",
"order_by": "2027-04-15",
"why_then": "The commit-by date comes next, once the venue has answered for AV."
},
{
"category": "Catering",
"order_by": "2027-04-22",
"why_then": "The commit-by date binds before the reference's four weeks, once the venue has answered for catering."
},
{
"category": "Security",
"order_by": "2027-05-13",
"why_then": "The venue's own security deadline is worked back one week from the event - ask the venue for its real date."
}
],
"tactics": [
{
"tactic": "Specific target, trade-off in the supplier's hands",
"kind": "supplier"
},
{
"tactic": "Non-monetary asks",
"kind": "supplier"
}
],
"caveats": [
"Catering: the venue has not answered in writing - get the answer before evaluating any caterer.",
"AV and production: the venue has not answered in writing, and the specification has not arrived.",
"Saffrabel Table and Brindlecrust Catering were quoted before the venue answered and are not evaluated.",
"Totterby Tags: the quote expires before the commit-by date."
]
}
The page's check: kept - nothing to flag
Granite City Data Summit (venue not answered) - brief
Verdict: ask the venue first; 220 people; 1 of 4 categories open; 3 quotes; 2 fix-level findings.
Input:
{
"task": "brief",
"event": "Event: Granite City Data Summit; date 2027-05-20; address: Lecture Centre, Granite City University, 5 College Walk; access hours the venue gave: doors 07:30-19:00; load-in from 07:00\nCategories (Q1): Catering - not yet answered in writing; AV and production - not yet answered in writing; Security - included in the venue's rental; Swag - open - yours to source\nFormat and headcount (Q2): conference; 220 people, from registrations so far; locks 2027-05-13; likely to move up; band 15% either way = 187 and 253 (self-set); run by a community\nUpstream (Q3): venue contract terms arrived; production specification not yet; insurance decision not needed; budget per category arrived; what the venue supplies and forbids: University security staff included; catering and AV policy still with the facilities office; no deliveries before 07:00; what the venue requires of us on insurance, verbatim: The organizer holds public liability of USD 1,000,000 for the lecture centre\nPrior suppliers (Q4): none\nCommit-by dates (Q5): Catering 2027-04-22; AV and production 2027-04-15; Security not set; Swag 2027-03-15; checked as of 2027-02-01\nEdition (Q6): one-off\nEffort ceiling (Q7): 30 organizer hours; someone will chase three quotes: yes; contracts are read by nobody; irreversibility the team can carry: low; negotiation channel: email\nAlready exists (Q8): an organizer in the trade for no category; a sponsor offering in kind: none; a prior marked-up contract: no\nQuoted onward (Q9): no\nBrief contacts: owner Mateo Silva, +1 555 0200; backup +1 555 0201; suppliers reply by 2027-02-12; currency USD\nCarried from the comparison (5): 1. Pick: Swag - Totterby Tags: Totterby Tags is the only comparable quote and it is inside the budget line.; 2. Totterby Tags - Failure remedy: Ask Totterby Tags to write the stated remedy into the contract against the brief's window.; 3. Totterby Tags - Headcount moves: Ask Totterby Tags to confirm the fixed scope in writing against the brief.; 4. Totterby Tags - Cancellation: Ask Totterby Tags for a softer early step, and what they owe if they cancel.; 5. Totterby Tags - Certificate of insurance: Ask Totterby Tags what liability cover they carry, in writing, before committing.",
"categories": "K1. Catering | blocked (not yet answered in writing) | budget: USD 9,000 | commit-by: 2027-04-22 | needed: 2027-05-20 12:30 | prior: none | venue fee: none | brief says: buffet lunch for 220 at 12:30 and an afternoon break; dietary counts to follow | brief gaps: not briefed (blocked)\nK2. AV and production | blocked (not yet answered in writing) | budget: USD 5,000 | commit-by: 2027-04-15 | needed: 2027-05-20 09:00 | prior: none | venue fee: none | brief says: 1 lecture theatre, 2 cameras, recording; the specification is still with the production lead | brief gaps: not briefed (blocked)\nK3. Security | bundled (included in the venue's rental) | budget: not set | commit-by: not set | needed: 2027-05-20 | prior: none | venue fee: none | brief says: nothing yet | brief gaps: not briefed (bundled)\nK4. Swag | open (open - yours to source) | budget: USD 2,400 | commit-by: 2027-03-15 | needed: 2027-05-13 | prior: none | venue fee: none | brief says: 220 stickers and 220 tote bags; artwork: vector file from us, 1 colour; in-hand date 2027-05-13 | brief gaps: whether unopened surplus can be returned",
"quotes": "Q1. Catering | Saffrabel Table | headline: 24 per head | line items: delivery 150; buffet staff 3 x 4h at 30; service charge 15%; equipment included; setup included; tax 7% | headcount basis: guarantee 220 by 2027-05-13; 10% free either way | cancellation: 2027-05-06: 50%; 2027-05-17: 100% | failure remedy: none stated | insurance certificate: none offered | lead time: 2 weeks | valid until: 2027-03-31 | on our brief: yes\nQ2. Catering | Brindlecrust Catering | headline: 21 per head | line items: delivery 200; tax 7% | headcount basis: minimum 200 covers; final numbers 2027-05-13 | cancellation: 2027-05-13: 100% | failure remedy: a credit for late delivery | insurance certificate: certificate offered | lead time: 10 days | valid until: 2027-04-30 | on our brief: yes\nQ3. Swag | Totterby Tags | headline: 2,150 | line items: shipping 90; setup included; tax 7% | headcount basis: fixed quantity | cancellation: 2027-03-20: 100% | failure remedy: reprint if defective | insurance certificate: none offered | lead time: 6 weeks | valid until: 2027-03-10 | on our brief: yes",
"contracts": "",
"facts": "Verdict: ask the venue first (2 fix-level findings; stage: still briefing and quoting)\nDisclaimer: Not legal advice: contract wording goes to whoever reads contracts for the team, and the page shows what a clause says, never what it means. No supplier prices and no benchmark are supplied - all-in quotes on one identical brief are the only benchmark for this city, this size and this year.\nSelf-set lines: the headcount band 15% either way (187 and 253); a near commit-by date within 21 days; a category dominant at 20% of the open budget; a low effort ceiling under 20 organizer hours; the certificate ask gated at 300 attendees. Reference values used: catering ordered 2-4 weeks out (taken at 4 weeks), a security firm may take a week, catering buffers 30-60 minutes plated and 60-90 family-style, late-order padding up to 30% per size and style.\nAssumptions labelled on the page: a percentage charge with no stated basis applies to the whole invoice; tax applies last, after any service charge (the reference states no order); a cancellation percentage is priced on the all-in total at the headcount; the venue's outside-supplier fee sits outside the supplier's percentages.\nCategories (4), in order:\n- K1 Catering: status blocked (not yet answered in writing); budget USD 9,000; posture pick: none yet; depth pick: none; pick: none yet\n none - the category is blocked until the venue answers\n- K2 AV and production: status blocked (not yet answered in writing); budget USD 5,000; posture pick: none yet; depth pick: none; pick: none yet\n none - the category is blocked until the venue answers\n- K3 Security: status bundled (included in the venue's rental); budget not set; posture pick: Venue-bundled supplier; depth pick: none; pick: none yet\n Sourcing posture - Security (pick: Venue-bundled supplier): 1. Venue-bundled supplier [made the pick by step 2: included in the venue's rental]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Referred single-source (the venue supplies it - there is no market to source); Multi-quote on one identical brief (the venue supplies it - there is no market to source); Volunteer substitution (a bundled category is the venue's to staff). Notes: Do not use any negotiation tactic on a supplier the venue mandates - there is no alternative, and the leverage they assume does not exist.\n- K4 Swag: status open (open - yours to source); budget USD 2,400 (100% of the open budget, dominant); posture pick: Multi-quote on one identical brief; depth pick: Reference check; pick: Totterby Tags\n Sourcing posture - Swag (pick: Multi-quote on one identical brief): 1. Multi-quote on one identical brief [made the pick by the budget: swag is one of the lines that dominate it (100% of the open budget; dominant at 20%, self-set); made the pick by Q4: no referral exists in this category]; 2. Referred single-source. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves swag open); Volunteer substitution (the skill names volunteer substitution only for some of catering and front-of-house - it is not a rung here)\n Quote-comparison depth - Swag (pick: Reference check): 1. Reference check [promoted by the supplier is new to you, with no referral behind them; promoted by one comparable quote - their failure has no fallback in the category]; 2. Failure-terms read; 3. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; the artwork specification present; a hard in-hand date, not a ship date present; whether unopened surplus can be returned MISSING\nComparison, every quote, all-in at 220 (the headcount), at 187 and 253 (the band, self-set), per head at 220; only within a category:\n- Q1 Catering / Saffrabel Table: all-in USD 7,125; per head USD 32.38; at 187 USD 6,475; at 253 USD 8,099; flags: [venue answer pending; expires before commit-by] | compared: no - not on the brief or not valid\n built from: headline USD 5,280 (24 x 220) + delivery or transport USD 150 (delivery 150) + staff USD 360 (buffet staff 3 x 4h at 30) + service charge USD 869 (15% of the whole invoice (the page's assumption - the quote names no basis)) + tax USD 466 (7% of the subtotal after the service charge (the page's assumption - the reference...) | assumptions: service charge 15%: on the whole invoice, the page's assumption - the quote names no basis; tax after the service charge, the page's assumption - the reference states no order\n- Q2 Catering / Brindlecrust Catering: all-in USD 5,157; per head USD 23.44; at 187 USD 4,708; at 253 USD 5,899; flags: [venue answer pending; incomplete: staff, service charge, equipment, setup and teardown] | compared: no - not on the brief or not valid\n built from: headline USD 4,620 (21 x 220) + delivery or transport USD 200 (delivery 200) + tax USD 337 (7% of the subtotal)\n- Q3 Swag / Totterby Tags: all-in USD 2,397; per head USD 10.89; at 187 USD 2,397; at 253 USD 2,397; flags: [expires before commit-by] | compared: yes\n built from: headline USD 2,150 (2,150) + delivery or transport USD 90 (shipping 90) + tax USD 157 (7% of the subtotal)\nPicks per category (lowest all-in at the likely headcount 253 among comparable quotes): Catering - none yet; AV and production - none yet; Swag - Totterby Tags\nContract terms, per pick:\n- Totterby Tags / Failure remedy: stated | ask: the stated remedy written into the contract against the brief's window (the remedy is what the contract's failure terms turn out to be worth)\n- Totterby Tags / Headcount moves: fixed price - does not move with the headcount | ask: the fixed scope confirmed in writing against the brief (a lump sum moves only when the scope does)\n- Totterby Tags / Cancellation: 2027-03-20 100% USD 2,397 | ask: a softer early step, and what they owe if they cancel - usually far weaker than what you owe (the schedule, not \"cancellation fees may apply\")\n- Totterby Tags / Certificate of insurance: none offered | ask: what they carry, in writing - at this scale an enterprise-shaped certificate mostly costs you the supplier (two directions: what the supplier carries, and what the venue requires of you flowing down)\nOrder schedule, earliest first:\n- Swag: order by 2027-03-15 - the commit-by date - it binds before the quote's 6 weeks before the in-hand date 2027-05-13\n- AV and production: order by 2027-04-15 - the commit-by date (no standard lead time - the reference says so; what matters more is the rehearsal date)\n- Catering: order by 2027-04-22 - the commit-by date - it binds before the reference's 2-4 weeks, taken at 4 weeks before the need date 2027-05-20\n- Security: order by 2027-05-13 - the reference's week before the need date 2027-05-20; the venue's deadline - ask it, it is typically earlier than an outside supplier's\nDay-of delivery sheet:\n- Totterby Tags (Swag): location to be named; window to be named; contact to be named; backup none; pickup to be named; no reference buffer\nHand-offs: timing to event-planning-timeline (Swag - order by 2027-03-15; AV and production - order by 2027-04-15; Catering - order by 2027-04-22; Security - order by 2027-05-13); delivery windows to event-run-of-show (Totterby Tags - to be named at to be named, contact to be named).\nTactics, each tagged generic negotiation practice or event-supplier practice: Specific target, trade-off in the supplier's hands [supplier]; Non-monetary asks [supplier]. The channel is email only: the generic negotiation tactics (mirroring, labelling, calibrated questions, the accusation audit, decreasing-increment concessions) assume a live conversation and are left out.\nBrief: reply by 2027-02-12; contact \"Mateo Silva, +1 555 0200; backup +1 555 0201\"; quote format: One all-in total at our headcount: the unit price and every add-on inside it / Each add-on priced separately: delivery or travel, staff, service charge or gratuity and what it applies to, equipment, setup and teardown, overtime beyond a stated window, taxes / The total at our headcount moved down and up, and until when it can move / The deposit, the balance dates and the cancellation schedule as dated steps / How long the quote is valid\nQuestions for Swag: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Does the line genuinely cover the full size range, 3XL to 5XL included, in this style? / Can unopened surplus be returned? / Will you hold the order or ship to the venue, and to what receiving address?\nFindings (15):\n[fix] ask_catering (venue): Catering: the venue has not answered in writing whether it supplies it, mandates its own supplier, permits an outside one or charges a fee - get that answer before evaluating a single supplier (step 2); venues, universities especially, frequently mandate their own catering.\n[fix] ask_av (venue): AV and production: the venue has not answered in writing whether it supplies it, mandates its own supplier, permits an outside one or charges a fee - get that answer before evaluating a single supplier (step 2).\n[check] bundled_security (venue): Security: included in the venue's rental - sourcing collapses to a form and a headcount, with no price comparison and no separate certificate to chase; the deadline is the venue's, and it is not entered - ask for it.\n[check] brief_swag (brief): Swag brief is missing: whether unopened surplus can be returned.\n[check] blk_q1 (quotes): Saffrabel Table: quoted before the venue answered for catering - effort spent on a supplier you may not be allowed to hire; it is not evaluated.\n[check] expc_q1 (quotes): Saffrabel Table: the quote expires 2027-03-31, before the commit-by date 2027-04-22.\n[check] blk_q2 (quotes): Brindlecrust Catering: quoted before the venue answered for catering - effort spent on a supplier you may not be allowed to hire; it is not evaluated.\n[check] expc_q3 (quotes): Totterby Tags: the quote expires 2027-03-10, before the commit-by date 2027-03-15.\n[check] dc_swag_0 (day-of): Totterby Tags: no named on-site contact - the supplier arrives, calls the one number they were given, and nobody answers.\n[check] dloc_swag_0 (day-of): Totterby Tags: no exact delivery location - building, entrance, dock, room, not the event's marketing address.\n[check] reader (terms): Nobody reads the contracts for the team (Q7) - the page shows what each term says, never what it means; a material commitment deserves a real reviewer.\n[info] format_av (interview): Q2: a recorded conference's spend concentrates in AV; one that publishes nothing barely needs it.\n[info] coi_gate (terms): At 220 attendees (under 300 - self-set) the certificate ask is gated down: ask what each supplier carries rather than an enterprise-shaped certificate. Which cover the event itself buys is event-risk-management's decision.\n[info] earliest_spend (schedule): The earliest deadline is swag (2027-03-15), not the largest spend, catering - order in deadline order; planning forward does the biggest thing first and misses the earliest.\n[info] disclaimer (honesty): Not legal advice: contract wording goes to whoever reads contracts for the team, and the page shows what a clause says, never what it means. No supplier prices and no benchmark are supplied - all-in quotes on one identical brief are the only benchmark for this city, this size and this year."
}
Reply:
{
"task": "brief",
"briefs": [
{
"category": "Swag",
"about": "Granite City Data Summit is a one-day conference on 2027-05-20 at the Lecture Centre, Granite City University, for 220 people.",
"supply": [
"220 stickers and 220 tote bags",
"Artwork from our vector file, 1 colour, in hand by 2027-05-13"
],
"basis": "220 people from registrations so far, locking on 2027-05-13 and likely to move up.",
"quote_format": [
"One all-in total at our headcount, with the unit price and every add-on inside it",
"Each add-on priced separately: delivery, staff, service charge and what it applies to, equipment, setup and teardown, overtime, taxes",
"The total at our headcount moved down and up, and until when it can move",
"The deposit, the balance dates and the cancellation schedule as dated steps",
"How long the quote is valid"
],
"questions": [
"Until when can the headcount move, in which direction, and at what cost?",
"What is the cancellation schedule, as dated steps - and what happens if you cancel?",
"What is the remedy if delivery is late or short, in the contract?",
"What liability cover do you carry, and will you name us as additional insured where the venue requires it?",
"What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing?",
"Does the line genuinely cover the full size range, 3XL to 5XL included, in this style?",
"Can unopened surplus be returned?",
"Will you hold the order or ship to the venue, and to what receiving address?"
],
"reply_by": "2027-02-12",
"contact": "Mateo Silva, +1 555 0200; backup +1 555 0201"
}
],
"delivery": [
{
"supplier": "Totterby Tags",
"location": "to be named",
"window": "to be named",
"contact": "to be named",
"note": "The location, the window and the contact are still to be named."
}
],
"disclaimer": "This is not legal advice: contract wording goes to whoever reads contracts for the team, and the page supplies no supplier prices and no benchmark - only the all-in quotes in the input.",
"note": "Not ready to send: ask the venue first - catering and AV have no written answer, and that answer decides which categories are open."
}
The page's check: kept - nothing to flag
Riverside Rust Meetup (80, recurring) - compare
Verdict: ready to commit; 80 people; 2 of 3 categories open; 2 quotes; 0 fix-level findings.
Input:
{
"task": "compare",
"event": "Event: Riverside Rust Meetup - spring social; date 2027-04-08; address: Riverside Hub, 3 Ferry Lane; access hours the venue gave: doors 17:00-22:00\nCategories (Q1): Catering - open - yours to source; AV and production - included in the venue's rental; Print - open - yours to source\nFormat and headcount (Q2): meetup; 80 people, from a prior edition's actuals; locks 2027-04-01; steady; band 15% either way = 68 and 92 (self-set); run by a community\nUpstream (Q3): venue contract terms arrived; production specification not needed; insurance decision not needed; budget per category arrived; what the venue supplies and forbids: Screen and microphones included; deliveries via the Ferry Lane side door; no open flame; what the venue requires of us on insurance, verbatim: The organizer holds public liability of USD 1,000,000 for the hall\nPrior suppliers (Q4): Catering - used, would use again (Lotwell Dumpling Co); Print - used, would use again (Rivermoss Copy)\nCommit-by dates (Q5): Catering 2027-03-18; AV and production not set; Print 2027-03-25; checked as of 2027-02-10\nEdition (Q6): recurring\nEffort ceiling (Q7): 12 organizer hours; someone will chase three quotes: no; contracts are read by an experienced organizer; irreversibility the team can carry: medium; negotiation channel: call\nAlready exists (Q8): an organizer in the trade for no category; a sponsor offering in kind: none; a prior marked-up contract: no\nQuoted onward (Q9): no\nBrief contacts: owner Kim Adeyemi, +1 555 0170; backup +1 555 0171; suppliers reply by 2027-02-17; currency USD",
"categories": "K1. Catering | open (open - yours to source) | budget: USD 1,800 | commit-by: 2027-03-18 | needed: 2027-04-08 18:30 | prior: yes Lotwell Dumpling Co | venue fee: none | brief says: 80 boxed dinners at 18:30, individual meals; dietary counts: vegetarian 18, vegan 8, gluten-free 5, halal 4, peanut allergy 2; who serves: our volunteers lay out the delivered boxes; nothing to return, all disposables; allergen labels on every box, a copy posted at the door | brief gaps: none\nK2. AV and production | bundled (included in the venue's rental) | budget: not set | commit-by: not set | needed: 2027-04-08 | prior: none | venue fee: none | brief says: nothing yet | brief gaps: not briefed (bundled)\nK3. Print | open (open - yours to source) | budget: USD 300 | commit-by: 2027-03-25 | needed: 2027-04-06 | prior: yes Rivermoss Copy | venue fee: none | brief says: 80 name badges and 2 banners; artwork PDF from us, proof included; in-hand date 2027-04-06; delivered to the venue's receiving desk | brief gaps: none",
"quotes": "Q1. Catering | Lotwell Dumpling Co | headline: 19 per head | line items: delivery included; staff not charged - our volunteers serve; service charge waived; equipment included (disposables); setup included; tax 8% | headcount basis: final numbers 2027-04-01; 10% free either way | cancellation: 2027-04-01: 50%; 2027-04-06: 100% | failure remedy: late delivery: 20% credit on the invoice | insurance certificate: certificate offered | lead time: 1 week | valid until: 2027-04-01 | on our brief: yes\nQ2. Print | Rivermoss Copy | headline: 260 | line items: delivery included; tax 8% | headcount basis: fixed quantity | cancellation: 2027-03-30: 100% | failure remedy: reprint overnight if anything is wrong | insurance certificate: carries public liability, certificate on request | lead time: 3 days | valid until: 2027-03-31 | on our brief: yes",
"contracts": "",
"facts": "Verdict: ready to commit (0 fix-level findings; stage: every open category has a complete pick with a stated remedy - a commit question)\nDisclaimer: Not legal advice: contract wording goes to whoever reads contracts for the team, and the page shows what a clause says, never what it means. No supplier prices and no benchmark are supplied - all-in quotes on one identical brief are the only benchmark for this city, this size and this year.\nSelf-set lines: the headcount band 15% either way (68 and 92); a near commit-by date within 21 days; a category dominant at 20% of the open budget; a low effort ceiling under 20 organizer hours; the certificate ask gated at 300 attendees. Reference values used: catering ordered 2-4 weeks out (taken at 4 weeks), a security firm may take a week, catering buffers 30-60 minutes plated and 60-90 family-style, late-order padding up to 30% per size and style.\nAssumptions labelled on the page: a percentage charge with no stated basis applies to the whole invoice; tax applies last, after any service charge (the reference states no order); a cancellation percentage is priced on the all-in total at the headcount; the venue's outside-supplier fee sits outside the supplier's percentages.\nCategories (3), in order:\n- K1 Catering: status open (open - yours to source); budget USD 1,800 (86% of the open budget, dominant); posture pick: Referred single-source; depth pick: Failure-terms read; pick: Lotwell Dumpling Co\n Sourcing posture - Catering (pick: Referred single-source): 1. Referred single-source [promoted by Q6: a recurring event - a referred supplier can become a relationship and a repeat rate; made the pick by Q8: a supplier from last edition (Lotwell Dumpling Co) promotes its own rung above everything else]; 2. Volunteer substitution; 3. Multi-quote on one identical brief [demoted by Q7: a low effort ceiling (nobody will chase three quotes); made the pick by the budget: catering is one of the lines that dominate it (86% of the open budget; dominant at 20%, self-set)]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves catering open). Notes: A multi-day catering brief need not name one caterer for the whole event: splitting the meal grid by slot is a legitimate way to spread cost and variety.\n Quote-comparison depth - Catering (pick: Failure-terms read): 1. Failure-terms read; 2. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted); Reference check (Q8: a prior edition's own record of this supplier replaces it - you are the reference). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; the service style present; each meal with its serving time present; dietary requirements as counts present; who serves present; what comes back, and when present; allergen information in a form you can post present\n- K2 AV and production: status bundled (included in the venue's rental); budget not set; posture pick: Venue-bundled supplier; depth pick: none; pick: none yet\n Sourcing posture - AV and production (pick: Venue-bundled supplier): 1. Venue-bundled supplier [made the pick by step 2: included in the venue's rental]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Referred single-source (the venue supplies it - there is no market to source); Multi-quote on one identical brief (the venue supplies it - there is no market to source); Volunteer substitution (a bundled category is the venue's to staff). Notes: Do not use any negotiation tactic on a supplier the venue mandates - there is no alternative, and the leverage they assume does not exist.\n- K3 Print: status open (open - yours to source); budget USD 300 (14% of the open budget); posture pick: Referred single-source; depth pick: Like-for-like all-in total; pick: Rivermoss Copy\n Sourcing posture - Print (pick: Referred single-source): 1. Referred single-source [promoted by Q6: a recurring event - a referred supplier can become a relationship and a repeat rate; made the pick by Q8: a supplier from last edition (Rivermoss Copy) promotes its own rung above everything else]; 2. Multi-quote on one identical brief [demoted by Q7: a low effort ceiling (nobody will chase three quotes)]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves print open); Volunteer substitution (the skill names volunteer substitution only for some of catering and front-of-house - it is not a rung here)\n Quote-comparison depth - Print (pick: Like-for-like all-in total): 1. Like-for-like all-in total [made the pick by Q7: a low effort ceiling stops a smaller category at the all-in total]; 2. Failure-terms read. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted); Reference check (Q8: a prior edition's own record of this supplier replaces it - you are the reference). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; the artwork specification present; a hard in-hand date present; receiving at the venue present\nComparison, every quote, all-in at 80 (the headcount), at 68 and 92 (the band, self-set), per head at 80; only within a category:\n- Q1 Catering / Lotwell Dumpling Co: all-in USD 1,642; per head USD 20.52; at 68 USD 1,477; at 92 USD 1,888; flags: [none] | compared: yes\n built from: headline USD 1,520 (19 x 80) + tax USD 122 (8% of the subtotal)\n- Q2 Print / Rivermoss Copy: all-in USD 281; per head USD 3.51; at 68 USD 281; at 92 USD 281; flags: [none] | compared: yes\n built from: headline USD 260 (260) + tax USD 21 (8% of the subtotal)\nPicks per category (lowest all-in at the likely headcount 80 among comparable quotes): Catering - Lotwell Dumpling Co; Print - Rivermoss Copy\nContract terms, per pick:\n- Lotwell Dumpling Co / Failure remedy: stated | ask: the stated remedy written into the contract against the brief's window (the remedy is what the contract's failure terms turn out to be worth)\n- Lotwell Dumpling Co / Headcount moves: locks 2027-04-01; USD 82 unused at 68 (15% below, self-set) | ask: a later lock date or a free band, with downward moves credited (until when the headcount can move, in which direction and at what cost)\n- Lotwell Dumpling Co / Cancellation: 2027-04-01 50% USD 821; 2027-04-06 100% USD 1,642 | ask: a softer early step, and what they owe if they cancel - usually far weaker than what you owe (the schedule, not \"cancellation fees may apply\")\n- Lotwell Dumpling Co / Certificate of insurance: offered | ask: what they carry, in writing - at this scale an enterprise-shaped certificate mostly costs you the supplier (two directions: what the supplier carries, and what the venue requires of you flowing down)\n- Rivermoss Copy / Failure remedy: stated | ask: the stated remedy written into the contract against the brief's window (the remedy is what the contract's failure terms turn out to be worth)\n- Rivermoss Copy / Headcount moves: fixed price - does not move with the headcount | ask: the fixed scope confirmed in writing against the brief (a lump sum moves only when the scope does)\n- Rivermoss Copy / Cancellation: 2027-03-30 100% USD 281 | ask: a softer early step, and what they owe if they cancel - usually far weaker than what you owe (the schedule, not \"cancellation fees may apply\")\n- Rivermoss Copy / Certificate of insurance: offered | ask: what they carry, in writing - at this scale an enterprise-shaped certificate mostly costs you the supplier (two directions: what the supplier carries, and what the venue requires of you flowing down)\nOrder schedule, earliest first:\n- Catering: order by 2027-03-11 - the reference's 2-4 weeks, taken at 4 weeks before the need date 2027-04-08, earlier than the commit-by date 2027-03-18\n- Print: order by 2027-03-25 - the commit-by date - it binds before the quote's 3 days before the in-hand date 2027-04-06\n- AV and production: order by not set - not set - no lead time and no commit-by date; the venue's deadline - ask it, it is typically earlier than an outside supplier's\nDay-of delivery sheet:\n- Lotwell Dumpling Co (Catering): location Riverside Hub side door on Ferry Lane, then the hall; window 17:45-18:00; contact Kim Adeyemi, +1 555 0170; backup +1 555 0171; pickup nothing to collect - disposables; deliver 30-60 minutes before serving at 18:30 (plated)\n- Rivermoss Copy (Print): location Riverside Hub front desk; window 2027-04-06 10:00-12:00; contact Kim Adeyemi, +1 555 0170; backup +1 555 0171; pickup none; no reference buffer\nHand-offs: timing to event-planning-timeline (Catering - order by 2027-03-11; Print - order by 2027-03-25; AV and production - order by not set); delivery windows to event-run-of-show (Lotwell Dumpling Co - 17:45-18:00 at Riverside Hub side door on Ferry Lane, then the hall, contact Kim Adeyemi, +1 555 0170; Rivermoss Copy - 2027-04-06 10:00-12:00 at Riverside Hub front desk, contact Kim Adeyemi, +1 555 0170).\nTactics, each tagged generic negotiation practice or event-supplier practice: Specific target, trade-off in the supplier's hands [supplier]; Non-monetary asks [supplier]; Calibrated questions [generic]; Labelling [generic]; Mirroring [generic]; Decreasing-increment concessions [generic]. The generic tactics come from generic negotiation practice, not event-supplier practice, and assume this call; none applies to a supplier the venue mandates.\nBrief: reply by 2027-02-17; contact \"Kim Adeyemi, +1 555 0170; backup +1 555 0171\"; quote format: One all-in total at our headcount: the unit price and every add-on inside it / Each add-on priced separately: delivery or travel, staff, service charge or gratuity and what it applies to, equipment, setup and teardown, overtime beyond a stated window, taxes / The total at our headcount moved down and up, and until when it can move / The deposit, the balance dates and the cancellation schedule as dated steps / How long the quote is valid\nQuestions for Catering: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Who serves - must your own staff serve, or may volunteers lay out delivered food? / What reusable equipment comes with the order, and when and by whom is it collected? / Can you meet the dietary counts within the standard order, or is accommodation a separate order? / Have you served this venue before? / Is there a per-delivery cap on quantities?\nQuestions for Print: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Will you deliver to the venue's receiving dock, and on what date? / What file formats and colour profile do you need, and is a proof included?\nFindings (3):\n[check] bundled_av (venue): AV and production: included in the venue's rental - sourcing collapses to a form and a headcount, with no price comparison and no separate certificate to chase; the deadline is the venue's, and it is not entered - ask for it.\n[info] coi_gate (terms): At 80 attendees (under 300 - self-set) the certificate ask is gated down: ask what each supplier carries rather than an enterprise-shaped certificate. Which cover the event itself buys is event-risk-management's decision.\n[info] disclaimer (honesty): Not legal advice: contract wording goes to whoever reads contracts for the team, and the page shows what a clause says, never what it means. No supplier prices and no benchmark are supplied - all-in quotes on one identical brief are the only benchmark for this city, this size and this year."
}
Reply:
{
"task": "compare",
"summary": "Ready to commit: both picks answered the identical brief, are complete and state a remedy; confirm the caterer's lock date and order catering first.",
"disclaimer": "This is not legal advice: contract wording goes to whoever reads contracts for the team, and the page supplies no supplier prices and no benchmark - only the all-in quotes in the input.",
"verdict": "ready to commit",
"categories": [
{
"category": "Catering",
"status": "open",
"posture": "Referred single-source",
"reason": "Catering is open and last year's caterer, Lotwell Dumpling Co, is a referral the recurring meetup can keep."
},
{
"category": "AV and production",
"status": "bundled",
"posture": "Venue-bundled supplier",
"reason": "The venue includes the screen and microphones, so it is a form, not a purchase."
},
{
"category": "Print",
"status": "open",
"posture": "Referred single-source",
"reason": "Print is open and Rivermoss Copy was used before, so one referred supplier on a written brief is enough."
}
],
"comparison": [
{
"category": "Catering",
"supplier": "Lotwell Dumpling Co",
"all_in": "USD 1,642",
"per_head": "USD 20.52",
"flags": []
},
{
"category": "Print",
"supplier": "Rivermoss Copy",
"all_in": "USD 281",
"per_head": "USD 3.51",
"flags": []
}
],
"pick_per_category": [
{
"category": "Catering",
"supplier": "Lotwell Dumpling Co",
"why": "Lotwell Dumpling Co is the only quote, made on the brief, complete and inside the budget line."
},
{
"category": "Print",
"supplier": "Rivermoss Copy",
"why": "Rivermoss Copy is the only quote, complete and inside the budget line."
}
],
"terms": [
{
"supplier": "Lotwell Dumpling Co",
"term": "Failure remedy",
"exposure": "stated",
"ask": "Ask Lotwell Dumpling Co to write the stated remedy into the contract against the brief's window."
},
{
"supplier": "Lotwell Dumpling Co",
"term": "Headcount moves",
"exposure": "locks 2027-04-01; USD 82 unused at 68 (15% below, self-set)",
"ask": "Ask Lotwell Dumpling Co for a later lock date or a free band, with downward moves credited."
},
{
"supplier": "Lotwell Dumpling Co",
"term": "Cancellation",
"exposure": "2027-04-01 50% USD 821; 2027-04-06 100% USD 1,642",
"ask": "Ask Lotwell Dumpling Co for a softer early step, and what they owe if they cancel."
},
{
"supplier": "Lotwell Dumpling Co",
"term": "Certificate of insurance",
"exposure": "offered",
"ask": "Ask Lotwell Dumpling Co for the certificate in writing before load-in, naming the parties the venue requires."
},
{
"supplier": "Rivermoss Copy",
"term": "Failure remedy",
"exposure": "stated",
"ask": "Ask Rivermoss Copy to write the stated remedy into the contract against the brief's window."
},
{
"supplier": "Rivermoss Copy",
"term": "Headcount moves",
"exposure": "fixed price - does not move with the headcount",
"ask": "Ask Rivermoss Copy to confirm the fixed scope in writing against the brief."
},
{
"supplier": "Rivermoss Copy",
"term": "Cancellation",
"exposure": "2027-03-30 100% USD 281",
"ask": "Ask Rivermoss Copy for a softer early step, and what they owe if they cancel."
},
{
"supplier": "Rivermoss Copy",
"term": "Certificate of insurance",
"exposure": "offered",
"ask": "Ask Rivermoss Copy for the certificate in writing before load-in, naming the parties the venue requires."
}
],
"schedule": [
{
"category": "Catering",
"order_by": "2027-03-11",
"why_then": "The reference's four weeks before the meetup binds before the commit-by date."
},
{
"category": "Print",
"order_by": "2027-03-25",
"why_then": "The commit-by date binds before the short turnaround."
},
{
"category": "AV and production",
"order_by": "not set",
"why_then": "The venue supplies AV; there is no date to work back, so ask the venue for any deadline."
}
],
"tactics": [
{
"tactic": "Specific target, trade-off in the supplier's hands",
"kind": "supplier"
},
{
"tactic": "Non-monetary asks",
"kind": "supplier"
},
{
"tactic": "Calibrated questions",
"kind": "generic"
},
{
"tactic": "Labelling",
"kind": "generic"
},
{
"tactic": "Mirroring",
"kind": "generic"
},
{
"tactic": "Decreasing-increment concessions",
"kind": "generic"
}
],
"caveats": [
"AV and production: the venue's deadline for its included equipment is not entered - ask for it."
]
}
The page's check: kept - nothing to flag
Riverside Rust Meetup (80, recurring) - brief
Verdict: ready to commit; 80 people; 2 of 3 categories open; 2 quotes; 0 fix-level findings.
Input:
{
"task": "brief",
"event": "Event: Riverside Rust Meetup - spring social; date 2027-04-08; address: Riverside Hub, 3 Ferry Lane; access hours the venue gave: doors 17:00-22:00\nCategories (Q1): Catering - open - yours to source; AV and production - included in the venue's rental; Print - open - yours to source\nFormat and headcount (Q2): meetup; 80 people, from a prior edition's actuals; locks 2027-04-01; steady; band 15% either way = 68 and 92 (self-set); run by a community\nUpstream (Q3): venue contract terms arrived; production specification not needed; insurance decision not needed; budget per category arrived; what the venue supplies and forbids: Screen and microphones included; deliveries via the Ferry Lane side door; no open flame; what the venue requires of us on insurance, verbatim: The organizer holds public liability of USD 1,000,000 for the hall\nPrior suppliers (Q4): Catering - used, would use again (Lotwell Dumpling Co); Print - used, would use again (Rivermoss Copy)\nCommit-by dates (Q5): Catering 2027-03-18; AV and production not set; Print 2027-03-25; checked as of 2027-02-10\nEdition (Q6): recurring\nEffort ceiling (Q7): 12 organizer hours; someone will chase three quotes: no; contracts are read by an experienced organizer; irreversibility the team can carry: medium; negotiation channel: call\nAlready exists (Q8): an organizer in the trade for no category; a sponsor offering in kind: none; a prior marked-up contract: no\nQuoted onward (Q9): no\nBrief contacts: owner Kim Adeyemi, +1 555 0170; backup +1 555 0171; suppliers reply by 2027-02-17; currency USD\nCarried from the comparison (10): 1. Pick: Catering - Lotwell Dumpling Co: Lotwell Dumpling Co is the only quote, made on the brief, complete and inside the budget line.; 2. Pick: Print - Rivermoss Copy: Rivermoss Copy is the only quote, complete and inside the budget line.; 3. Lotwell Dumpling Co - Failure remedy: Ask Lotwell Dumpling Co to write the stated remedy into the contract against the brief's window.; 4. Lotwell Dumpling Co - Headcount moves: Ask Lotwell Dumpling Co for a later lock date or a free band, with downward moves credited.; 5. Lotwell Dumpling Co - Cancellation: Ask Lotwell Dumpling Co for a softer early step, and what they owe if they cancel.; 6. Lotwell Dumpling Co - Certificate of insurance: Ask Lotwell Dumpling Co for the certificate in writing before load-in, naming the parties the venue requires.; 7. Rivermoss Copy - Failure remedy: Ask Rivermoss Copy to write the stated remedy into the contract against the brief's window.; 8. Rivermoss Copy - Headcount moves: Ask Rivermoss Copy to confirm the fixed scope in writing against the brief.; 9. Rivermoss Copy - Cancellation: Ask Rivermoss Copy for a softer early step, and what they owe if they cancel.; 10. Rivermoss Copy - Certificate of insurance: Ask Rivermoss Copy for the certificate in writing before load-in, naming the parties the venue requires.",
"categories": "K1. Catering | open (open - yours to source) | budget: USD 1,800 | commit-by: 2027-03-18 | needed: 2027-04-08 18:30 | prior: yes Lotwell Dumpling Co | venue fee: none | brief says: 80 boxed dinners at 18:30, individual meals; dietary counts: vegetarian 18, vegan 8, gluten-free 5, halal 4, peanut allergy 2; who serves: our volunteers lay out the delivered boxes; nothing to return, all disposables; allergen labels on every box, a copy posted at the door | brief gaps: none\nK2. AV and production | bundled (included in the venue's rental) | budget: not set | commit-by: not set | needed: 2027-04-08 | prior: none | venue fee: none | brief says: nothing yet | brief gaps: not briefed (bundled)\nK3. Print | open (open - yours to source) | budget: USD 300 | commit-by: 2027-03-25 | needed: 2027-04-06 | prior: yes Rivermoss Copy | venue fee: none | brief says: 80 name badges and 2 banners; artwork PDF from us, proof included; in-hand date 2027-04-06; delivered to the venue's receiving desk | brief gaps: none",
"quotes": "Q1. Catering | Lotwell Dumpling Co | headline: 19 per head | line items: delivery included; staff not charged - our volunteers serve; service charge waived; equipment included (disposables); setup included; tax 8% | headcount basis: final numbers 2027-04-01; 10% free either way | cancellation: 2027-04-01: 50%; 2027-04-06: 100% | failure remedy: late delivery: 20% credit on the invoice | insurance certificate: certificate offered | lead time: 1 week | valid until: 2027-04-01 | on our brief: yes\nQ2. Print | Rivermoss Copy | headline: 260 | line items: delivery included; tax 8% | headcount basis: fixed quantity | cancellation: 2027-03-30: 100% | failure remedy: reprint overnight if anything is wrong | insurance certificate: carries public liability, certificate on request | lead time: 3 days | valid until: 2027-03-31 | on our brief: yes",
"contracts": "",
"facts": "Verdict: ready to commit (0 fix-level findings; stage: every open category has a complete pick with a stated remedy - a commit question)\nDisclaimer: Not legal advice: contract wording goes to whoever reads contracts for the team, and the page shows what a clause says, never what it means. No supplier prices and no benchmark are supplied - all-in quotes on one identical brief are the only benchmark for this city, this size and this year.\nSelf-set lines: the headcount band 15% either way (68 and 92); a near commit-by date within 21 days; a category dominant at 20% of the open budget; a low effort ceiling under 20 organizer hours; the certificate ask gated at 300 attendees. Reference values used: catering ordered 2-4 weeks out (taken at 4 weeks), a security firm may take a week, catering buffers 30-60 minutes plated and 60-90 family-style, late-order padding up to 30% per size and style.\nAssumptions labelled on the page: a percentage charge with no stated basis applies to the whole invoice; tax applies last, after any service charge (the reference states no order); a cancellation percentage is priced on the all-in total at the headcount; the venue's outside-supplier fee sits outside the supplier's percentages.\nCategories (3), in order:\n- K1 Catering: status open (open - yours to source); budget USD 1,800 (86% of the open budget, dominant); posture pick: Referred single-source; depth pick: Failure-terms read; pick: Lotwell Dumpling Co\n Sourcing posture - Catering (pick: Referred single-source): 1. Referred single-source [promoted by Q6: a recurring event - a referred supplier can become a relationship and a repeat rate; made the pick by Q8: a supplier from last edition (Lotwell Dumpling Co) promotes its own rung above everything else]; 2. Volunteer substitution; 3. Multi-quote on one identical brief [demoted by Q7: a low effort ceiling (nobody will chase three quotes); made the pick by the budget: catering is one of the lines that dominate it (86% of the open budget; dominant at 20%, self-set)]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves catering open). Notes: A multi-day catering brief need not name one caterer for the whole event: splitting the meal grid by slot is a legitimate way to spread cost and variety.\n Quote-comparison depth - Catering (pick: Failure-terms read): 1. Failure-terms read; 2. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted); Reference check (Q8: a prior edition's own record of this supplier replaces it - you are the reference). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; the service style present; each meal with its serving time present; dietary requirements as counts present; who serves present; what comes back, and when present; allergen information in a form you can post present\n- K2 AV and production: status bundled (included in the venue's rental); budget not set; posture pick: Venue-bundled supplier; depth pick: none; pick: none yet\n Sourcing posture - AV and production (pick: Venue-bundled supplier): 1. Venue-bundled supplier [made the pick by step 2: included in the venue's rental]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Referred single-source (the venue supplies it - there is no market to source); Multi-quote on one identical brief (the venue supplies it - there is no market to source); Volunteer substitution (a bundled category is the venue's to staff). Notes: Do not use any negotiation tactic on a supplier the venue mandates - there is no alternative, and the leverage they assume does not exist.\n- K3 Print: status open (open - yours to source); budget USD 300 (14% of the open budget); posture pick: Referred single-source; depth pick: Like-for-like all-in total; pick: Rivermoss Copy\n Sourcing posture - Print (pick: Referred single-source): 1. Referred single-source [promoted by Q6: a recurring event - a referred supplier can become a relationship and a repeat rate; made the pick by Q8: a supplier from last edition (Rivermoss Copy) promotes its own rung above everything else]; 2. Multi-quote on one identical brief [demoted by Q7: a low effort ceiling (nobody will chase three quotes)]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves print open); Volunteer substitution (the skill names volunteer substitution only for some of catering and front-of-house - it is not a rung here)\n Quote-comparison depth - Print (pick: Like-for-like all-in total): 1. Like-for-like all-in total [made the pick by Q7: a low effort ceiling stops a smaller category at the all-in total]; 2. Failure-terms read. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted); Reference check (Q8: a prior edition's own record of this supplier replaces it - you are the reference). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; the artwork specification present; a hard in-hand date present; receiving at the venue present\nComparison, every quote, all-in at 80 (the headcount), at 68 and 92 (the band, self-set), per head at 80; only within a category:\n- Q1 Catering / Lotwell Dumpling Co: all-in USD 1,642; per head USD 20.52; at 68 USD 1,477; at 92 USD 1,888; flags: [none] | compared: yes\n built from: headline USD 1,520 (19 x 80) + tax USD 122 (8% of the subtotal)\n- Q2 Print / Rivermoss Copy: all-in USD 281; per head USD 3.51; at 68 USD 281; at 92 USD 281; flags: [none] | compared: yes\n built from: headline USD 260 (260) + tax USD 21 (8% of the subtotal)\nPicks per category (lowest all-in at the likely headcount 80 among comparable quotes): Catering - Lotwell Dumpling Co; Print - Rivermoss Copy\nContract terms, per pick:\n- Lotwell Dumpling Co / Failure remedy: stated | ask: the stated remedy written into the contract against the brief's window (the remedy is what the contract's failure terms turn out to be worth)\n- Lotwell Dumpling Co / Headcount moves: locks 2027-04-01; USD 82 unused at 68 (15% below, self-set) | ask: a later lock date or a free band, with downward moves credited (until when the headcount can move, in which direction and at what cost)\n- Lotwell Dumpling Co / Cancellation: 2027-04-01 50% USD 821; 2027-04-06 100% USD 1,642 | ask: a softer early step, and what they owe if they cancel - usually far weaker than what you owe (the schedule, not \"cancellation fees may apply\")\n- Lotwell Dumpling Co / Certificate of insurance: offered | ask: what they carry, in writing - at this scale an enterprise-shaped certificate mostly costs you the supplier (two directions: what the supplier carries, and what the venue requires of you flowing down)\n- Rivermoss Copy / Failure remedy: stated | ask: the stated remedy written into the contract against the brief's window (the remedy is what the contract's failure terms turn out to be worth)\n- Rivermoss Copy / Headcount moves: fixed price - does not move with the headcount | ask: the fixed scope confirmed in writing against the brief (a lump sum moves only when the scope does)\n- Rivermoss Copy / Cancellation: 2027-03-30 100% USD 281 | ask: a softer early step, and what they owe if they cancel - usually far weaker than what you owe (the schedule, not \"cancellation fees may apply\")\n- Rivermoss Copy / Certificate of insurance: offered | ask: what they carry, in writing - at this scale an enterprise-shaped certificate mostly costs you the supplier (two directions: what the supplier carries, and what the venue requires of you flowing down)\nOrder schedule, earliest first:\n- Catering: order by 2027-03-11 - the reference's 2-4 weeks, taken at 4 weeks before the need date 2027-04-08, earlier than the commit-by date 2027-03-18\n- Print: order by 2027-03-25 - the commit-by date - it binds before the quote's 3 days before the in-hand date 2027-04-06\n- AV and production: order by not set - not set - no lead time and no commit-by date; the venue's deadline - ask it, it is typically earlier than an outside supplier's\nDay-of delivery sheet:\n- Lotwell Dumpling Co (Catering): location Riverside Hub side door on Ferry Lane, then the hall; window 17:45-18:00; contact Kim Adeyemi, +1 555 0170; backup +1 555 0171; pickup nothing to collect - disposables; deliver 30-60 minutes before serving at 18:30 (plated)\n- Rivermoss Copy (Print): location Riverside Hub front desk; window 2027-04-06 10:00-12:00; contact Kim Adeyemi, +1 555 0170; backup +1 555 0171; pickup none; no reference buffer\nHand-offs: timing to event-planning-timeline (Catering - order by 2027-03-11; Print - order by 2027-03-25; AV and production - order by not set); delivery windows to event-run-of-show (Lotwell Dumpling Co - 17:45-18:00 at Riverside Hub side door on Ferry Lane, then the hall, contact Kim Adeyemi, +1 555 0170; Rivermoss Copy - 2027-04-06 10:00-12:00 at Riverside Hub front desk, contact Kim Adeyemi, +1 555 0170).\nTactics, each tagged generic negotiation practice or event-supplier practice: Specific target, trade-off in the supplier's hands [supplier]; Non-monetary asks [supplier]; Calibrated questions [generic]; Labelling [generic]; Mirroring [generic]; Decreasing-increment concessions [generic]. The generic tactics come from generic negotiation practice, not event-supplier practice, and assume this call; none applies to a supplier the venue mandates.\nBrief: reply by 2027-02-17; contact \"Kim Adeyemi, +1 555 0170; backup +1 555 0171\"; quote format: One all-in total at our headcount: the unit price and every add-on inside it / Each add-on priced separately: delivery or travel, staff, service charge or gratuity and what it applies to, equipment, setup and teardown, overtime beyond a stated window, taxes / The total at our headcount moved down and up, and until when it can move / The deposit, the balance dates and the cancellation schedule as dated steps / How long the quote is valid\nQuestions for Catering: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Who serves - must your own staff serve, or may volunteers lay out delivered food? / What reusable equipment comes with the order, and when and by whom is it collected? / Can you meet the dietary counts within the standard order, or is accommodation a separate order? / Have you served this venue before? / Is there a per-delivery cap on quantities?\nQuestions for Print: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Will you deliver to the venue's receiving dock, and on what date? / What file formats and colour profile do you need, and is a proof included?\nFindings (3):\n[check] bundled_av (venue): AV and production: included in the venue's rental - sourcing collapses to a form and a headcount, with no price comparison and no separate certificate to chase; the deadline is the venue's, and it is not entered - ask for it.\n[info] coi_gate (terms): At 80 attendees (under 300 - self-set) the certificate ask is gated down: ask what each supplier carries rather than an enterprise-shaped certificate. Which cover the event itself buys is event-risk-management's decision.\n[info] disclaimer (honesty): Not legal advice: contract wording goes to whoever reads contracts for the team, and the page shows what a clause says, never what it means. No supplier prices and no benchmark are supplied - all-in quotes on one identical brief are the only benchmark for this city, this size and this year."
}
Reply:
{
"task": "brief",
"briefs": [
{
"category": "Catering",
"about": "Riverside Rust Meetup - spring social is an evening meetup on 2027-04-08 at Riverside Hub, Ferry Lane, for 80 people.",
"supply": [
"80 boxed dinners at 18:30, individual meals",
"Dietary counts: vegetarian 18, vegan 8, gluten-free 5, halal 4, peanut allergy 2",
"Allergen labels on every box"
],
"basis": "80 people from last edition's actuals, locking on 2027-04-01 and steady.",
"quote_format": [
"One all-in total at our headcount, with the unit price and every add-on inside it",
"Each add-on priced separately: delivery, staff, service charge and what it applies to, equipment, setup and teardown, overtime, taxes",
"The total at our headcount moved down and up, and until when it can move",
"The deposit, the balance dates and the cancellation schedule as dated steps",
"How long the quote is valid"
],
"questions": [
"Until when can the headcount move, in which direction, and at what cost?",
"What is the cancellation schedule, as dated steps - and what happens if you cancel?",
"What is the remedy if delivery is late or short, in the contract?",
"What liability cover do you carry, and will you name us as additional insured where the venue requires it?",
"What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing?",
"Who serves - must your own staff serve, or may volunteers lay out delivered food?",
"What reusable equipment comes with the order, and when and by whom is it collected?",
"Can you meet the dietary counts within the standard order, or is accommodation a separate order?",
"Have you served this venue before?",
"Is there a per-delivery cap on quantities?"
],
"reply_by": "2027-02-17",
"contact": "Kim Adeyemi, +1 555 0170; backup +1 555 0171"
},
{
"category": "Print",
"about": "Riverside Rust Meetup - spring social is an evening meetup on 2027-04-08 at Riverside Hub, Ferry Lane, for 80 people.",
"supply": [
"80 name badges and 2 banners from our PDF, with a proof",
"Delivered to the venue's receiving desk by 2027-04-06"
],
"basis": "80 people from last edition's actuals, locking on 2027-04-01 and steady.",
"quote_format": [
"One all-in total at our headcount, with the unit price and every add-on inside it",
"Each add-on priced separately: delivery, staff, service charge and what it applies to, equipment, setup and teardown, overtime, taxes",
"The total at our headcount moved down and up, and until when it can move",
"The deposit, the balance dates and the cancellation schedule as dated steps",
"How long the quote is valid"
],
"questions": [
"Until when can the headcount move, in which direction, and at what cost?",
"What is the cancellation schedule, as dated steps - and what happens if you cancel?",
"What is the remedy if delivery is late or short, in the contract?",
"What liability cover do you carry, and will you name us as additional insured where the venue requires it?",
"What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing?",
"Will you deliver to the venue's receiving dock, and on what date?",
"What file formats and colour profile do you need, and is a proof included?"
],
"reply_by": "2027-02-17",
"contact": "Kim Adeyemi, +1 555 0170; backup +1 555 0171"
}
],
"delivery": [
{
"supplier": "Lotwell Dumpling Co",
"location": "Riverside Hub side door on Ferry Lane, then the hall",
"window": "17:45-18:00",
"contact": "Kim Adeyemi, +1 555 0170",
"note": "The boxes arrive inside the 30 to 60 minutes before the 18:30 serving time."
},
{
"supplier": "Rivermoss Copy",
"location": "Riverside Hub front desk",
"window": "2027-04-06 10:00-12:00",
"contact": "Kim Adeyemi, +1 555 0170",
"note": "Badges and banners arrive two days ahead at the front desk."
}
],
"disclaimer": "This is not legal advice: contract wording goes to whoever reads contracts for the team, and the page supplies no supplier prices and no benchmark - only the all-in quotes in the input.",
"note": "The briefs are ready to send to every candidate."
}
The page's check: kept - nothing to flag
Lakeside Student Hack (150, no quotes yet) - compare
Verdict: ready to brief suppliers; 150 people; 3 of 5 categories open; 0 quotes; 0 fix-level findings.
Input:
{
"task": "compare",
"event": "Event: Lakeside Student Hack 2027; date 2027-06-12; address: Innovation Barn, 40 Lakeside Drive; access hours the venue gave: doors from 08:00 on 2027-06-12 to 12:00 on 2027-06-13\nCategories (Q1): Catering - open - yours to source; AV and production - included in the venue's rental; Security - included in the venue's rental; Insurance - open - yours to source; Swag - open - yours to source\nFormat and headcount (Q2): hackathon; 150 people, from an estimate; locks 2027-06-01; likely to move up; band 15% either way = 128 and 173 (self-set); run by a community\nUpstream (Q3): venue contract terms arrived; production specification not needed; insurance decision arrived; budget per category arrived; what the venue supplies and forbids: Outside catering allowed; chafing dishes permitted with gel fuel only; screens and building security included; deliveries via the north entrance; what the venue requires of us on insurance, verbatim: The organizer holds event liability of USD 1,000,000 naming the venue; caterers carry their own public liability\nPrior suppliers (Q4): none\nCommit-by dates (Q5): Catering 2027-05-15; AV and production not set; Security not set; Insurance 2027-04-30; Swag 2027-04-01; checked as of 2027-02-15\nEdition (Q6): one-off\nEffort ceiling (Q7): 80 organizer hours; someone will chase three quotes: yes; contracts are read by an experienced organizer; irreversibility the team can carry: medium; negotiation channel: call\nAlready exists (Q8): an organizer in the trade for no category; a sponsor offering in kind: none; a prior marked-up contract: no\nQuoted onward (Q9): no\nBrief contacts: owner Ravo Menderly, +1 555 0300; backup +1 555 0301; suppliers reply by 2027-03-05; currency USD",
"categories": "K1. Catering | open (open - yours to source) | budget: USD 6,000 | commit-by: 2027-05-15 | needed: 2027-06-12 12:00 | prior: none | venue fee: none | brief says: lunch and dinner on 2027-06-12 and breakfast on 2027-06-13 for 150, family-style platters, lunch served at 12:00; dietary counts from attendees, mentors, volunteers and organizers: vegetarian 30, vegan 12, gluten-free 6, halal 9, lactose 4; who serves: their staff set up, volunteers serve; chafing dishes collected 2027-06-13 10:00; allergen menu posted at check-in | brief gaps: none\nK2. AV and production | bundled (included in the venue's rental) | budget: not set | commit-by: not set | needed: 2027-06-12 | prior: none | venue fee: none | brief says: nothing yet | brief gaps: not briefed (bundled)\nK3. Security | bundled (included in the venue's rental) | budget: not set | commit-by: not set | needed: 2027-06-12 | prior: none | venue fee: none | brief says: nothing yet | brief gaps: not briefed (bundled)\nK4. Insurance | open (open - yours to source) | budget: USD 900 | commit-by: 2027-04-30 | needed: 2027-06-12 | prior: none | venue fee: none | brief says: event liability cover as the risk register decided; what suppliers and sponsors must carry follows the venue's requirement | brief gaps: none\nK5. Swag | open (open - yours to source) | budget: USD 2,200 | commit-by: 2027-04-01 | needed: 2027-06-05 | prior: none | venue fee: none | brief says: 150 unisex t-shirts by size: S 20, M 65, L 40, XL 15, 2XL 6, 3XL 4; tri-blend; artwork: vector file from us; in-hand date 2027-06-05 | brief gaps: whether unopened surplus can be returned",
"quotes": "none yet",
"contracts": "",
"facts": "Verdict: ready to brief suppliers (0 fix-level findings; stage: still briefing and quoting)\nDisclaimer: Not legal advice: contract wording goes to whoever reads contracts for the team, and the page shows what a clause says, never what it means. No supplier prices and no benchmark are supplied - all-in quotes on one identical brief are the only benchmark for this city, this size and this year.\nSelf-set lines: the headcount band 15% either way (128 and 173); a near commit-by date within 21 days; a category dominant at 20% of the open budget; a low effort ceiling under 20 organizer hours; the certificate ask gated at 300 attendees. Reference values used: catering ordered 2-4 weeks out (taken at 4 weeks), a security firm may take a week, catering buffers 30-60 minutes plated and 60-90 family-style, late-order padding up to 30% per size and style.\nAssumptions labelled on the page: a percentage charge with no stated basis applies to the whole invoice; tax applies last, after any service charge (the reference states no order); a cancellation percentage is priced on the all-in total at the headcount; the venue's outside-supplier fee sits outside the supplier's percentages.\nCategories (5), in order:\n- K1 Catering: status open (open - yours to source); budget USD 6,000 (66% of the open budget, dominant); posture pick: Multi-quote on one identical brief; depth pick: Failure-terms read; pick: none yet\n Sourcing posture - Catering (pick: Multi-quote on one identical brief): 1. Multi-quote on one identical brief [made the pick by the budget: catering is one of the lines that dominate it (66% of the open budget; dominant at 20%, self-set); made the pick by Q4: no referral exists in this category]; 2. Referred single-source. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves catering open); Volunteer substitution (the skill: hot food prepared rather than delivered carries a food-safety obligation no goodwill transfers). Notes: A multi-day catering brief need not name one caterer for the whole event: splitting the meal grid by slot is a legitimate way to spread cost and variety.\n Quote-comparison depth - Catering (pick: Failure-terms read): 1. Failure-terms read; 2. Reference check [promoted by the supplier is new to you, with no referral behind them]; 3. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; the service style present; each meal with its serving time present; dietary requirements as counts present; who serves present; what comes back, and when present; allergen information in a form you can post present\n- K2 AV and production: status bundled (included in the venue's rental); budget not set; posture pick: Venue-bundled supplier; depth pick: none; pick: none yet\n Sourcing posture - AV and production (pick: Venue-bundled supplier): 1. Venue-bundled supplier [made the pick by step 2: included in the venue's rental]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Referred single-source (the venue supplies it - there is no market to source); Multi-quote on one identical brief (the venue supplies it - there is no market to source); Volunteer substitution (a bundled category is the venue's to staff). Notes: Do not use any negotiation tactic on a supplier the venue mandates - there is no alternative, and the leverage they assume does not exist.\n- K3 Security: status bundled (included in the venue's rental); budget not set; posture pick: Venue-bundled supplier; depth pick: none; pick: none yet\n Sourcing posture - Security (pick: Venue-bundled supplier): 1. Venue-bundled supplier [made the pick by step 2: included in the venue's rental]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Referred single-source (the venue supplies it - there is no market to source); Multi-quote on one identical brief (the venue supplies it - there is no market to source); Volunteer substitution (a bundled category is the venue's to staff). Notes: Do not use any negotiation tactic on a supplier the venue mandates - there is no alternative, and the leverage they assume does not exist.\n- K4 Insurance: status open (open - yours to source); budget USD 900 (10% of the open budget); posture pick: Multi-quote on one identical brief; depth pick: Failure-terms read; pick: none yet\n Sourcing posture - Insurance (pick: Multi-quote on one identical brief): 1. Multi-quote on one identical brief [made the pick by Q4: no referral exists in this category]; 2. Referred single-source. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves insurance open); Volunteer substitution (the skill names volunteer substitution only for some of catering and front-of-house - it is not a rung here)\n Quote-comparison depth - Insurance (pick: Failure-terms read): 1. Failure-terms read; 2. Reference check [promoted by the supplier is new to you, with no referral behind them]; 3. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; the coverage decision from the risk register present; the venue's insurance requirement, verbatim present; what suppliers and sponsors must carry present\n- K5 Swag: status open (open - yours to source); budget USD 2,200 (24% of the open budget, dominant); posture pick: Multi-quote on one identical brief; depth pick: Failure-terms read; pick: none yet\n Sourcing posture - Swag (pick: Multi-quote on one identical brief): 1. Multi-quote on one identical brief [made the pick by the budget: swag is one of the lines that dominate it (24% of the open budget; dominant at 20%, self-set); made the pick by Q4: no referral exists in this category]; 2. Referred single-source. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves swag open); Volunteer substitution (the skill names volunteer substitution only for some of catering and front-of-house - it is not a rung here)\n Quote-comparison depth - Swag (pick: Failure-terms read): 1. Failure-terms read; 2. Reference check [promoted by the supplier is new to you, with no referral behind them]; 3. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; quantity by size, not a total present; the size range, stated as a requirement present; fit options present; the fabric present; the artwork specification present; a hard in-hand date, not a ship date present; whether unopened surplus can be returned MISSING\nComparison, every quote, all-in at 150 (the headcount), at 128 and 173 (the band, self-set), per head at 150; only within a category:\nPicks per category (lowest all-in at the likely headcount 173 among comparable quotes): Catering - none yet; Insurance - none yet; Swag - none yet\nContract terms, per pick:\n- none - no pick yet\nOrder schedule, earliest first:\n- Swag: order by 2027-04-01 - the commit-by date (backorder-driven - stock on the specific items and sizes, confirmed in writing, sets it)\n- Insurance: order by 2027-04-30 - the commit-by date (no standard lead time - some cover must be bound well ahead and some is unavailable once a known circumstance exists)\n- Catering: order by 2027-05-15 - the commit-by date - it binds before the reference's 2-4 weeks, taken at 4 weeks before the need date 2027-06-12\n- Security: order by 2027-06-05 - the reference's week before the need date 2027-06-12; the venue's deadline - ask it, it is typically earlier than an outside supplier's\n- AV and production: order by not set - not set - no lead time and no commit-by date; the venue's deadline - ask it, it is typically earlier than an outside supplier's\nDay-of delivery sheet:\n- none yet\nHand-offs: timing to event-planning-timeline (Swag - order by 2027-04-01; Insurance - order by 2027-04-30; Catering - order by 2027-05-15; Security - order by 2027-06-05; AV and production - order by not set); delivery windows to event-run-of-show (none).\nTactics, each tagged generic negotiation practice or event-supplier practice: Specific target, trade-off in the supplier's hands [supplier]; Non-monetary asks [supplier]; Calibrated questions [generic]; Labelling [generic]; Mirroring [generic]; Accusation audit [generic]; Decreasing-increment concessions [generic]. The generic tactics come from generic negotiation practice, not event-supplier practice, and assume this call; none applies to a supplier the venue mandates.\nBrief: reply by 2027-03-05; contact \"Ravo Menderly, +1 555 0300; backup +1 555 0301\"; quote format: One all-in total at our headcount: the unit price and every add-on inside it / Each add-on priced separately: delivery or travel, staff, service charge or gratuity and what it applies to, equipment, setup and teardown, overtime beyond a stated window, taxes / The total at our headcount moved down and up, and until when it can move / The deposit, the balance dates and the cancellation schedule as dated steps / How long the quote is valid\nQuestions for Catering: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Who serves - must your own staff serve, or may volunteers lay out delivered food? / What reusable equipment comes with the order, and when and by whom is it collected? / Can you meet the dietary counts within the standard order, or is accommodation a separate order? / Have you served this venue before? / Is there a per-delivery cap on quantities?\nQuestions for Insurance: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Is your licence active where the event happens, on the regulator's public lookup? / Which carriers do you place with, and are they A-rated (AM Best)? / What errors-and-omissions cover do you carry? / What is the binding date, and is any cover unavailable once a known circumstance exists?\nQuestions for Swag: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Does the line genuinely cover the full size range, 3XL to 5XL included, in this style? / Can unopened surplus be returned? / Will you hold the order or ship to the venue, and to what receiving address?\nFindings (9):\n[check] bundled_av (venue): AV and production: included in the venue's rental - sourcing collapses to a form and a headcount, with no price comparison and no separate certificate to chase; the deadline is the venue's, and it is not entered - ask for it.\n[check] bundled_security (venue): Security: included in the venue's rental - sourcing collapses to a form and a headcount, with no price comparison and no separate certificate to chase; the deadline is the venue's, and it is not entered - ask for it.\n[check] brief_swag (brief): Swag brief is missing: whether unopened surplus can be returned.\n[check] multi_many (posture): Multi-quote is the pick in 3 categories (catering, insurance and swag) - the skill: do not move up on all of them at once; the coordination cost is what makes organizers skip the brief entirely.\n[info] hc_estimate (interview): Q2: the headcount is an estimate, so the totals at 128 and 173 (15% either way, self-set) matter as much as the one at 150.\n[info] format_food (interview): Q2: a hackathon's spend concentrates in food - expect catering to be the line that dominates.\n[info] coi_gate (terms): The venue's insurance requirement reaches suppliers, so every open supplier is asked for a certificate naming the venue and the organizer. Which cover the event itself buys is event-risk-management's decision.\n[info] earliest_spend (schedule): The earliest deadline is swag (2027-04-01), not the largest spend, catering - order in deadline order; planning forward does the biggest thing first and misses the earliest.\n[info] disclaimer (honesty): Not legal advice: contract wording goes to whoever reads contracts for the team, and the page shows what a clause says, never what it means. No supplier prices and no benchmark are supplied - all-in quotes on one identical brief are the only benchmark for this city, this size and this year."
}
Reply:
{
"task": "compare",
"summary": "Ready to brief suppliers: catering, insurance and swag are open with no quotes yet; send the identical briefs, starting with swag, whose order date comes first.",
"disclaimer": "This is not legal advice: contract wording goes to whoever reads contracts for the team, and the page supplies no supplier prices and no benchmark - only the all-in quotes in the input.",
"verdict": "ready to brief suppliers",
"categories": [
{
"category": "Catering",
"status": "open",
"posture": "Multi-quote on one identical brief",
"reason": "Catering is open, dominates the budget and has no referral, so it goes to several caterers on one brief."
},
{
"category": "AV and production",
"status": "bundled",
"posture": "Venue-bundled supplier",
"reason": "The venue includes the screens, so it is a form and a headcount."
},
{
"category": "Security",
"status": "bundled",
"posture": "Venue-bundled supplier",
"reason": "Building security is included in the rental."
},
{
"category": "Insurance",
"status": "open",
"posture": "Multi-quote on one identical brief",
"reason": "Insurance is open and no referral exists, so it is quoted by more than one broker on the identical brief."
},
{
"category": "Swag",
"status": "open",
"posture": "Multi-quote on one identical brief",
"reason": "Swag is open and has no referral, so it is quoted by more than one supplier on the identical brief."
}
],
"comparison": [],
"pick_per_category": [
{
"category": "Catering",
"supplier": "none yet",
"why": "No quote is in yet."
},
{
"category": "Insurance",
"supplier": "none yet",
"why": "No quote is in yet; the coverage decision has arrived from the risk register."
},
{
"category": "Swag",
"supplier": "none yet",
"why": "No quote is in yet."
}
],
"terms": [],
"schedule": [
{
"category": "Swag",
"order_by": "2027-04-01",
"why_then": "The commit-by date comes first - stock on the specific shirts and sizes sets the real deadline."
},
{
"category": "Insurance",
"order_by": "2027-04-30",
"why_then": "The binding date has no standard lead time, so the commit-by date sets it."
},
{
"category": "Catering",
"order_by": "2027-05-15",
"why_then": "The commit-by date binds before the reference's four weeks."
},
{
"category": "Security",
"order_by": "2027-06-05",
"why_then": "The venue's own deadline, worked back one week - ask the venue for its real date."
},
{
"category": "AV and production",
"order_by": "not set",
"why_then": "The venue supplies AV; ask the venue for any deadline."
}
],
"tactics": [
{
"tactic": "Specific target, trade-off in the supplier's hands",
"kind": "supplier"
},
{
"tactic": "Non-monetary asks",
"kind": "supplier"
},
{
"tactic": "Calibrated questions",
"kind": "generic"
},
{
"tactic": "Labelling",
"kind": "generic"
},
{
"tactic": "Mirroring",
"kind": "generic"
},
{
"tactic": "Accusation audit",
"kind": "generic"
},
{
"tactic": "Decreasing-increment concessions",
"kind": "generic"
}
],
"caveats": [
"Multi-quote is the pick in three categories - keep it for the lines that dominate the budget.",
"Insurance: the brief does not say what to buy in the insurer's own terms yet.",
"Swag: the brief does not say whether unopened surplus can be returned."
]
}
The page's check: kept - nothing to flag
Lakeside Student Hack (150, no quotes yet) - brief
Verdict: ready to brief suppliers; 150 people; 3 of 5 categories open; 0 quotes; 0 fix-level findings.
Input:
{
"task": "brief",
"event": "Event: Lakeside Student Hack 2027; date 2027-06-12; address: Innovation Barn, 40 Lakeside Drive; access hours the venue gave: doors from 08:00 on 2027-06-12 to 12:00 on 2027-06-13\nCategories (Q1): Catering - open - yours to source; AV and production - included in the venue's rental; Security - included in the venue's rental; Insurance - open - yours to source; Swag - open - yours to source\nFormat and headcount (Q2): hackathon; 150 people, from an estimate; locks 2027-06-01; likely to move up; band 15% either way = 128 and 173 (self-set); run by a community\nUpstream (Q3): venue contract terms arrived; production specification not needed; insurance decision arrived; budget per category arrived; what the venue supplies and forbids: Outside catering allowed; chafing dishes permitted with gel fuel only; screens and building security included; deliveries via the north entrance; what the venue requires of us on insurance, verbatim: The organizer holds event liability of USD 1,000,000 naming the venue; caterers carry their own public liability\nPrior suppliers (Q4): none\nCommit-by dates (Q5): Catering 2027-05-15; AV and production not set; Security not set; Insurance 2027-04-30; Swag 2027-04-01; checked as of 2027-02-15\nEdition (Q6): one-off\nEffort ceiling (Q7): 80 organizer hours; someone will chase three quotes: yes; contracts are read by an experienced organizer; irreversibility the team can carry: medium; negotiation channel: call\nAlready exists (Q8): an organizer in the trade for no category; a sponsor offering in kind: none; a prior marked-up contract: no\nQuoted onward (Q9): no\nBrief contacts: owner Ravo Menderly, +1 555 0300; backup +1 555 0301; suppliers reply by 2027-03-05; currency USD\nCarried from the comparison (0): none",
"categories": "K1. Catering | open (open - yours to source) | budget: USD 6,000 | commit-by: 2027-05-15 | needed: 2027-06-12 12:00 | prior: none | venue fee: none | brief says: lunch and dinner on 2027-06-12 and breakfast on 2027-06-13 for 150, family-style platters, lunch served at 12:00; dietary counts from attendees, mentors, volunteers and organizers: vegetarian 30, vegan 12, gluten-free 6, halal 9, lactose 4; who serves: their staff set up, volunteers serve; chafing dishes collected 2027-06-13 10:00; allergen menu posted at check-in | brief gaps: none\nK2. AV and production | bundled (included in the venue's rental) | budget: not set | commit-by: not set | needed: 2027-06-12 | prior: none | venue fee: none | brief says: nothing yet | brief gaps: not briefed (bundled)\nK3. Security | bundled (included in the venue's rental) | budget: not set | commit-by: not set | needed: 2027-06-12 | prior: none | venue fee: none | brief says: nothing yet | brief gaps: not briefed (bundled)\nK4. Insurance | open (open - yours to source) | budget: USD 900 | commit-by: 2027-04-30 | needed: 2027-06-12 | prior: none | venue fee: none | brief says: event liability cover as the risk register decided; what suppliers and sponsors must carry follows the venue's requirement | brief gaps: none\nK5. Swag | open (open - yours to source) | budget: USD 2,200 | commit-by: 2027-04-01 | needed: 2027-06-05 | prior: none | venue fee: none | brief says: 150 unisex t-shirts by size: S 20, M 65, L 40, XL 15, 2XL 6, 3XL 4; tri-blend; artwork: vector file from us; in-hand date 2027-06-05 | brief gaps: whether unopened surplus can be returned",
"quotes": "none yet",
"contracts": "",
"facts": "Verdict: ready to brief suppliers (0 fix-level findings; stage: still briefing and quoting)\nDisclaimer: Not legal advice: contract wording goes to whoever reads contracts for the team, and the page shows what a clause says, never what it means. No supplier prices and no benchmark are supplied - all-in quotes on one identical brief are the only benchmark for this city, this size and this year.\nSelf-set lines: the headcount band 15% either way (128 and 173); a near commit-by date within 21 days; a category dominant at 20% of the open budget; a low effort ceiling under 20 organizer hours; the certificate ask gated at 300 attendees. Reference values used: catering ordered 2-4 weeks out (taken at 4 weeks), a security firm may take a week, catering buffers 30-60 minutes plated and 60-90 family-style, late-order padding up to 30% per size and style.\nAssumptions labelled on the page: a percentage charge with no stated basis applies to the whole invoice; tax applies last, after any service charge (the reference states no order); a cancellation percentage is priced on the all-in total at the headcount; the venue's outside-supplier fee sits outside the supplier's percentages.\nCategories (5), in order:\n- K1 Catering: status open (open - yours to source); budget USD 6,000 (66% of the open budget, dominant); posture pick: Multi-quote on one identical brief; depth pick: Failure-terms read; pick: none yet\n Sourcing posture - Catering (pick: Multi-quote on one identical brief): 1. Multi-quote on one identical brief [made the pick by the budget: catering is one of the lines that dominate it (66% of the open budget; dominant at 20%, self-set); made the pick by Q4: no referral exists in this category]; 2. Referred single-source. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves catering open); Volunteer substitution (the skill: hot food prepared rather than delivered carries a food-safety obligation no goodwill transfers). Notes: A multi-day catering brief need not name one caterer for the whole event: splitting the meal grid by slot is a legitimate way to spread cost and variety.\n Quote-comparison depth - Catering (pick: Failure-terms read): 1. Failure-terms read; 2. Reference check [promoted by the supplier is new to you, with no referral behind them]; 3. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; the service style present; each meal with its serving time present; dietary requirements as counts present; who serves present; what comes back, and when present; allergen information in a form you can post present\n- K2 AV and production: status bundled (included in the venue's rental); budget not set; posture pick: Venue-bundled supplier; depth pick: none; pick: none yet\n Sourcing posture - AV and production (pick: Venue-bundled supplier): 1. Venue-bundled supplier [made the pick by step 2: included in the venue's rental]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Referred single-source (the venue supplies it - there is no market to source); Multi-quote on one identical brief (the venue supplies it - there is no market to source); Volunteer substitution (a bundled category is the venue's to staff). Notes: Do not use any negotiation tactic on a supplier the venue mandates - there is no alternative, and the leverage they assume does not exist.\n- K3 Security: status bundled (included in the venue's rental); budget not set; posture pick: Venue-bundled supplier; depth pick: none; pick: none yet\n Sourcing posture - Security (pick: Venue-bundled supplier): 1. Venue-bundled supplier [made the pick by step 2: included in the venue's rental]. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Referred single-source (the venue supplies it - there is no market to source); Multi-quote on one identical brief (the venue supplies it - there is no market to source); Volunteer substitution (a bundled category is the venue's to staff). Notes: Do not use any negotiation tactic on a supplier the venue mandates - there is no alternative, and the leverage they assume does not exist.\n- K4 Insurance: status open (open - yours to source); budget USD 900 (10% of the open budget); posture pick: Multi-quote on one identical brief; depth pick: Failure-terms read; pick: none yet\n Sourcing posture - Insurance (pick: Multi-quote on one identical brief): 1. Multi-quote on one identical brief [made the pick by Q4: no referral exists in this category]; 2. Referred single-source. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves insurance open); Volunteer substitution (the skill names volunteer substitution only for some of catering and front-of-house - it is not a rung here)\n Quote-comparison depth - Insurance (pick: Failure-terms read): 1. Failure-terms read; 2. Reference check [promoted by the supplier is new to you, with no referral behind them]; 3. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; the coverage decision from the risk register present; the venue's insurance requirement, verbatim present; what suppliers and sponsors must carry present\n- K5 Swag: status open (open - yours to source); budget USD 2,200 (24% of the open budget, dominant); posture pick: Multi-quote on one identical brief; depth pick: Failure-terms read; pick: none yet\n Sourcing posture - Swag (pick: Multi-quote on one identical brief): 1. Multi-quote on one identical brief [made the pick by the budget: swag is one of the lines that dominate it (24% of the open budget; dominant at 20%, self-set); made the pick by Q4: no referral exists in this category]; 2. Referred single-source. Deleted, not demoted: Sourcing without a written brief (the skill: without a brief there is nothing to compare a second quote against and nothing to hold the supplier to - a referral still gets a brief); Venue-bundled supplier (the venue leaves swag open); Volunteer substitution (the skill names volunteer substitution only for some of catering and front-of-house - it is not a rung here)\n Quote-comparison depth - Swag (pick: Failure-terms read): 1. Failure-terms read; 2. Reference check [promoted by the supplier is new to you, with no referral behind them]; 3. Like-for-like all-in total. Deleted, not demoted: Comparing headline prices (the skill: it produces a confident wrong answer - the supplier who excluded delivery, staff and rentals from the number they quoted). Notes: Cumulative: each depth contains the one below it, and every depth ends with the same contract in front of the same reviewer.\n brief items: the event's name, date, address and access hours present; the headcount, its source, the date it locks and its direction present; what to deliver, in the supplier's units present; the window: arrival, ready-by and breakdown present; what the venue supplies and forbids present; one owner: a name, a number and a backup number present; what is priced separately present; the answer deadline and the commit date present; quantity by size, not a total present; the size range, stated as a requirement present; fit options present; the fabric present; the artwork specification present; a hard in-hand date, not a ship date present; whether unopened surplus can be returned MISSING\nComparison, every quote, all-in at 150 (the headcount), at 128 and 173 (the band, self-set), per head at 150; only within a category:\nPicks per category (lowest all-in at the likely headcount 173 among comparable quotes): Catering - none yet; Insurance - none yet; Swag - none yet\nContract terms, per pick:\n- none - no pick yet\nOrder schedule, earliest first:\n- Swag: order by 2027-04-01 - the commit-by date (backorder-driven - stock on the specific items and sizes, confirmed in writing, sets it)\n- Insurance: order by 2027-04-30 - the commit-by date (no standard lead time - some cover must be bound well ahead and some is unavailable once a known circumstance exists)\n- Catering: order by 2027-05-15 - the commit-by date - it binds before the reference's 2-4 weeks, taken at 4 weeks before the need date 2027-06-12\n- Security: order by 2027-06-05 - the reference's week before the need date 2027-06-12; the venue's deadline - ask it, it is typically earlier than an outside supplier's\n- AV and production: order by not set - not set - no lead time and no commit-by date; the venue's deadline - ask it, it is typically earlier than an outside supplier's\nDay-of delivery sheet:\n- none yet\nHand-offs: timing to event-planning-timeline (Swag - order by 2027-04-01; Insurance - order by 2027-04-30; Catering - order by 2027-05-15; Security - order by 2027-06-05; AV and production - order by not set); delivery windows to event-run-of-show (none).\nTactics, each tagged generic negotiation practice or event-supplier practice: Specific target, trade-off in the supplier's hands [supplier]; Non-monetary asks [supplier]; Calibrated questions [generic]; Labelling [generic]; Mirroring [generic]; Accusation audit [generic]; Decreasing-increment concessions [generic]. The generic tactics come from generic negotiation practice, not event-supplier practice, and assume this call; none applies to a supplier the venue mandates.\nBrief: reply by 2027-03-05; contact \"Ravo Menderly, +1 555 0300; backup +1 555 0301\"; quote format: One all-in total at our headcount: the unit price and every add-on inside it / Each add-on priced separately: delivery or travel, staff, service charge or gratuity and what it applies to, equipment, setup and teardown, overtime beyond a stated window, taxes / The total at our headcount moved down and up, and until when it can move / The deposit, the balance dates and the cancellation schedule as dated steps / How long the quote is valid\nQuestions for Catering: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Who serves - must your own staff serve, or may volunteers lay out delivered food? / What reusable equipment comes with the order, and when and by whom is it collected? / Can you meet the dietary counts within the standard order, or is accommodation a separate order? / Have you served this venue before? / Is there a per-delivery cap on quantities?\nQuestions for Insurance: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Is your licence active where the event happens, on the regulator's public lookup? / Which carriers do you place with, and are they A-rated (AM Best)? / What errors-and-omissions cover do you carry? / What is the binding date, and is any cover unavailable once a known circumstance exists?\nQuestions for Swag: Until when can the headcount move, in which direction, and at what cost? / What is the cancellation schedule, as dated steps - and what happens if you cancel? / What is the remedy if delivery is late or short, in the contract? / What liability cover do you carry, and will you name us as additional insured where the venue requires it? / What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing? / Does the line genuinely cover the full size range, 3XL to 5XL included, in this style? / Can unopened surplus be returned? / Will you hold the order or ship to the venue, and to what receiving address?\nFindings (9):\n[check] bundled_av (venue): AV and production: included in the venue's rental - sourcing collapses to a form and a headcount, with no price comparison and no separate certificate to chase; the deadline is the venue's, and it is not entered - ask for it.\n[check] bundled_security (venue): Security: included in the venue's rental - sourcing collapses to a form and a headcount, with no price comparison and no separate certificate to chase; the deadline is the venue's, and it is not entered - ask for it.\n[check] brief_swag (brief): Swag brief is missing: whether unopened surplus can be returned.\n[check] multi_many (posture): Multi-quote is the pick in 3 categories (catering, insurance and swag) - the skill: do not move up on all of them at once; the coordination cost is what makes organizers skip the brief entirely.\n[info] hc_estimate (interview): Q2: the headcount is an estimate, so the totals at 128 and 173 (15% either way, self-set) matter as much as the one at 150.\n[info] format_food (interview): Q2: a hackathon's spend concentrates in food - expect catering to be the line that dominates.\n[info] coi_gate (terms): The venue's insurance requirement reaches suppliers, so every open supplier is asked for a certificate naming the venue and the organizer. Which cover the event itself buys is event-risk-management's decision.\n[info] earliest_spend (schedule): The earliest deadline is swag (2027-04-01), not the largest spend, catering - order in deadline order; planning forward does the biggest thing first and misses the earliest.\n[info] disclaimer (honesty): Not legal advice: contract wording goes to whoever reads contracts for the team, and the page shows what a clause says, never what it means. No supplier prices and no benchmark are supplied - all-in quotes on one identical brief are the only benchmark for this city, this size and this year."
}
Reply:
{
"task": "brief",
"briefs": [
{
"category": "Catering",
"about": "Lakeside Student Hack 2027 is an overnight hackathon from 2027-06-12 to 2027-06-13 at the Innovation Barn, Lakeside Drive, for an expected 150 people.",
"supply": [
"Lunch and dinner on 2027-06-12 and breakfast on 2027-06-13 for 150, family-style platters",
"Dietary counts: vegetarian 30, vegan 12, gluten-free 6, halal 9, lactose 4",
"Chafing dishes collected on 2027-06-13 at 10:00"
],
"basis": "150 people, an estimate that locks on 2027-06-01 and is likely to move up.",
"quote_format": [
"One all-in total at our headcount, with the unit price and every add-on inside it",
"Each add-on priced separately: delivery, staff, service charge and what it applies to, equipment, setup and teardown, overtime, taxes",
"The total at our headcount moved down and up, and until when it can move",
"The deposit, the balance dates and the cancellation schedule as dated steps",
"How long the quote is valid"
],
"questions": [
"Until when can the headcount move, in which direction, and at what cost?",
"What is the cancellation schedule, as dated steps - and what happens if you cancel?",
"What is the remedy if delivery is late or short, in the contract?",
"What liability cover do you carry, and will you name us as additional insured where the venue requires it?",
"What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing?",
"Who serves - must your own staff serve, or may volunteers lay out delivered food?",
"What reusable equipment comes with the order, and when and by whom is it collected?",
"Can you meet the dietary counts within the standard order, or is accommodation a separate order?",
"Have you served this venue before?",
"Is there a per-delivery cap on quantities?"
],
"reply_by": "2027-03-05",
"contact": "Ravo Menderly, +1 555 0300; backup +1 555 0301"
},
{
"category": "Insurance",
"about": "Lakeside Student Hack 2027 is an overnight hackathon from 2027-06-12 to 2027-06-13 at the Innovation Barn, Lakeside Drive, for an expected 150 people.",
"supply": [
"Event liability cover as the risk register decided",
"The certificate wording the venue's requirement calls for"
],
"basis": "150 people, an estimate that locks on 2027-06-01 and is likely to move up.",
"quote_format": [
"One all-in total at our headcount, with the unit price and every add-on inside it",
"Each add-on priced separately: delivery, staff, service charge and what it applies to, equipment, setup and teardown, overtime, taxes",
"The total at our headcount moved down and up, and until when it can move",
"The deposit, the balance dates and the cancellation schedule as dated steps",
"How long the quote is valid"
],
"questions": [
"Until when can the headcount move, in which direction, and at what cost?",
"What is the cancellation schedule, as dated steps - and what happens if you cancel?",
"What is the remedy if delivery is late or short, in the contract?",
"What liability cover do you carry, and will you name us as additional insured where the venue requires it?",
"What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing?",
"Is your licence active where the event happens, on the regulator's public lookup?",
"Which carriers do you place with, and are they A-rated (AM Best)?",
"What errors-and-omissions cover do you carry?",
"What is the binding date, and is any cover unavailable once a known circumstance exists?"
],
"reply_by": "2027-03-05",
"contact": "Ravo Menderly, +1 555 0300; backup +1 555 0301"
},
{
"category": "Swag",
"about": "Lakeside Student Hack 2027 is an overnight hackathon from 2027-06-12 to 2027-06-13 at the Innovation Barn, Lakeside Drive, for an expected 150 people.",
"supply": [
"150 unisex t-shirts by size: S 20, M 65, L 40, XL 15, 2XL 6, 3XL 4",
"Tri-blend, artwork from our vector file, in hand by 2027-06-05"
],
"basis": "150 people, an estimate that locks on 2027-06-01 and is likely to move up.",
"quote_format": [
"One all-in total at our headcount, with the unit price and every add-on inside it",
"Each add-on priced separately: delivery, staff, service charge and what it applies to, equipment, setup and teardown, overtime, taxes",
"The total at our headcount moved down and up, and until when it can move",
"The deposit, the balance dates and the cancellation schedule as dated steps",
"How long the quote is valid"
],
"questions": [
"Until when can the headcount move, in which direction, and at what cost?",
"What is the cancellation schedule, as dated steps - and what happens if you cancel?",
"What is the remedy if delivery is late or short, in the contract?",
"What liability cover do you carry, and will you name us as additional insured where the venue requires it?",
"What is your lead time, and will you confirm stock and the in-hand or ready-by date in writing?",
"Does the line genuinely cover the full size range, 3XL to 5XL included, in this style?",
"Can unopened surplus be returned?",
"Will you hold the order or ship to the venue, and to what receiving address?"
],
"reply_by": "2027-03-05",
"contact": "Ravo Menderly, +1 555 0300; backup +1 555 0301"
}
],
"delivery": [],
"disclaimer": "This is not legal advice: contract wording goes to whoever reads contracts for the team, and the page supplies no supplier prices and no benchmark - only the all-in quotes in the input.",
"note": "The briefs are ready to send to every candidate."
}
The page's check: kept - nothing to flag
The free day-of delivery sheet for the recurring-meetup sample
# Riverside Rust Meetup - spring social - day-of delivery sheet
_Not legal advice: contract wording goes to whoever reads contracts for the team, and the page shows what a clause says, never what it means. No supplier prices and no benchmark are supplied - all-in quotes on one identical brief are the only benchmark for this city, this size and this year._
Event: Riverside Rust Meetup - spring social, 2027-04-08 - Riverside Hub, 3 Ferry Lane. Owner: Kim Adeyemi, +1 555 0170; backup +1 555 0171.
| Supplier | Category | Delivery location | Arrival window | Ready by | On-site contact | Backup number | Teardown and pickup | Buffer |
|---|---|---|---|---|---|---|---|---|
| Lotwell Dumpling Co | Catering | Riverside Hub side door on Ferry Lane, then the hall | 17:45-18:00 | 18:30 | Kim Adeyemi, +1 555 0170 | +1 555 0171 | nothing to collect - disposables | deliver 30-60 minutes before serving at 18:30 (plated) |
| Rivermoss Copy | Print | Riverside Hub front desk | 2027-04-06 10:00-12:00 | - | Kim Adeyemi, +1 555 0170 | +1 555 0171 | none | no reference buffer |
## Hand-offs
- Timing, to event-planning-timeline: Catering - order by 2027-03-11; Print - order by 2027-03-25; AV and production - order by not set
- Delivery windows, to event-run-of-show: Lotwell Dumpling Co - 17:45-18:00 at Riverside Hub side door on Ferry Lane, then the hall, contact Kim Adeyemi, +1 555 0170; Rivermoss Copy - 2027-04-06 10:00-12:00 at Riverside Hub front desk, contact Kim Adeyemi, +1 555 0170
Build the input yourself
Load the engine in node (global.window = global; require("./supplykit.js"); require("./supplyreply.js")), then:
const K = SupplyKit, R = SupplyReply;
const f = K.form({ name: "My Meetup", eventDate: "2027-04-08", headcount: "80", hcSource: "actuals", exCatering: "open", exPrint: "open",
ownerName: "A named organizer", ownerPhone: "+1 555 0000", ownerBackup: "+1 555 0001", replyBy: "2027-02-17", asOf: "2027-02-10",
categories: "Catering | 1,800 | 2027-03-18 | 2027-04-08 18:30 | no | none | 80 boxed dinners at 18:30",
quotes: "Catering | A caterer | 19 per head | delivery included; service charge 10%; tax 8% | final numbers 2027-04-01 | 2027-04-06: 100% | 20% credit if late | certificate offered | 1 week | 2027-04-01 | yes" });
// f.cats (status, posture, depth, brief, gaps, pick), f.quotes (allIn, perHead, atDown, atUp, flags, comparable), f.terms, f.schedule, f.dayof, f.tactics, f.verdict, f.findings
K.comparisonCsv(f); K.scheduleCsv(f); K.ics(f); K.dayofMd(f) // the free comparison, schedule, calendar and day-of sheet
const b = K.buildInput(f, "compare"); // or "brief" (when a category is open)
const wire = K.toWire(b.input); // POST this to /estimate and /run
// then: const reply = R.normalize(R.parseReply(job.output.output), "compare");
// R.check(reply, b) // {status: kept or flagged, notes}
// R.carryText(reply) // the lines the brief lane carries - set them as the carry field
Get a token for the steps below from /tokens.html.
Step 1 — a tiny client helper
One function that sends JSON and unwraps the response. Paste a personal token from /tokens.html, or leave it empty and mint a guest token in step 2.
BASE="https://api.skillsafe.ai/v1/app-api"
TOKEN="YOUR_TOKEN" # from https://supplier-sheet.skillsafe.ai/tokens.html
api() { # api METHOD PATH [JSON-BODY]
curl -s -X "$1" "$BASE$2" -H "Content-Type: application/json" \
${TOKEN:+-H "Authorization: Bearer $TOKEN"} ${3:+--data "$3"}
}
import json, urllib.request
BASE = "https://api.skillsafe.ai/v1/app-api"
TOKEN = "YOUR_TOKEN" # from https://supplier-sheet.skillsafe.ai/tokens.html
def api(method, path, body=None, headers=None):
req = urllib.request.Request(BASE + path, method=method,
data=None if body is None else json.dumps(body).encode(),
headers={"Content-Type": "application/json", **({"Authorization": "Bearer " + TOKEN} if TOKEN else {}), **(headers or {})})
with urllib.request.urlopen(req) as r:
env = json.load(r)
if env.get("error"):
raise RuntimeError(env["error"])
return env["data"]
// supplier-sheet.mjs -- Node 18+ (global fetch)
const BASE = "https://api.skillsafe.ai/v1/app-api";
let TOKEN = "YOUR_TOKEN"; // from https://supplier-sheet.skillsafe.ai/tokens.html
async function api(method, path, body, headers = {}) {
const r = await fetch(BASE + path, { method, headers: { "Content-Type": "application/json",
...(TOKEN ? { Authorization: "Bearer " + TOKEN } : {}), ...headers },
body: body === undefined ? undefined : JSON.stringify(body) });
const env = await r.json();
if (env.error) throw new Error(env.error.code + ": " + env.error.message);
return env.data;
}
package main
import ("bytes"; "encoding/json"; "fmt"; "net/http")
const base = "https://api.skillsafe.ai/v1/app-api"
var token = "YOUR_TOKEN" // from https://supplier-sheet.skillsafe.ai/tokens.html
func api(method, path string, body any, headers map[string]string) (map[string]any, error) {
var buf bytes.Buffer
if body != nil { json.NewEncoder(&buf).Encode(body) }
req, _ := http.NewRequest(method, base+path, &buf)
req.Header.Set("Content-Type", "application/json")
if token != "" { req.Header.Set("Authorization", "Bearer "+token) }
for k, v := range headers { req.Header.Set(k, v) }
res, err := http.DefaultClient.Do(req)
if err != nil { return nil, err }
defer res.Body.Close()
var env struct { Data map[string]any; Error map[string]any }
json.NewDecoder(res.Body).Decode(&env)
if env.Error != nil { return nil, fmt.Errorf("%v", env.Error) }
return env.Data, nil
}
// SupplierSheet.java -- Java 17+, with com.fasterxml.jackson.core:jackson-databind
import com.fasterxml.jackson.databind.*;
import java.net.URI; import java.net.http.*; import java.util.*;
public class SupplierSheet {
static final String BASE = "https://api.skillsafe.ai/v1/app-api";
static String token = "YOUR_TOKEN"; // from https://supplier-sheet.skillsafe.ai/tokens.html
static final ObjectMapper M = new ObjectMapper();
static final HttpClient C = HttpClient.newHttpClient();
static JsonNode api(String method, String path, Object body, Map<String, String> headers) throws Exception {
var b = HttpRequest.newBuilder(URI.create(BASE + path)).header("Content-Type", "application/json");
if (!token.isEmpty()) b.header("Authorization", "Bearer " + token);
if (headers != null) headers.forEach(b::header);
b.method(method, body == null ? HttpRequest.BodyPublishers.noBody() : HttpRequest.BodyPublishers.ofString(M.writeValueAsString(body)));
JsonNode env = M.readTree(C.send(b.build(), HttpResponse.BodyHandlers.ofString()).body());
if (env.hasNonNull("error")) throw new RuntimeException(env.get("error").toString());
return env.get("data");
}
}
require "json"
require "net/http"
BASE = "https://api.skillsafe.ai/v1/app-api"
TOKEN = "YOUR_TOKEN" # from https://supplier-sheet.skillsafe.ai/tokens.html
def api(method, path, body = nil, headers = {})
uri = URI(BASE + path)
req = Net::HTTPGenericRequest.new(method, !body.nil?, true, uri.request_uri,
{ "Content-Type" => "application/json" }.merge(TOKEN.empty? ? {} : { "Authorization" => "Bearer #{TOKEN}" }).merge(headers))
req.body = JSON.generate(body) unless body.nil?
env = JSON.parse(Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |h| h.request(req) }.body)
raise env["error"].to_s if env["error"]
env["data"]
end
<?php
const BASE = "https://api.skillsafe.ai/v1/app-api";
$TOKEN = "YOUR_TOKEN"; // from https://supplier-sheet.skillsafe.ai/tokens.html
function api(string $method, string $path, $body = null, array $headers = []) {
global $TOKEN;
$h = ["Content-Type: application/json"];
if ($TOKEN) $h[] = "Authorization: Bearer $TOKEN";
foreach ($headers as $k => $v) $h[] = "$k: $v";
$ch = curl_init(BASE . $path);
curl_setopt_array($ch, [CURLOPT_CUSTOMREQUEST => $method, CURLOPT_HTTPHEADER => $h, CURLOPT_RETURNTRANSFER => true]);
if ($body !== null) curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($body));
$env = json_decode(curl_exec($ch), true);
if (!empty($env["error"])) throw new Exception(json_encode($env["error"]));
return $env["data"];
}
// Program.cs -- .NET 6+ console app
using System.Net.Http.Json; using System.Text.Json; using System.Text.Json.Nodes;
static class Api {
public const string Base = "https://api.skillsafe.ai/v1/app-api";
public static string Token = "YOUR_TOKEN"; // from https://supplier-sheet.skillsafe.ai/tokens.html
static readonly HttpClient C = new();
public static async Task<JsonNode?> Call(string method, string path, object? body = null, Dictionary<string, string>? headers = null) {
var req = new HttpRequestMessage(new HttpMethod(method), Base + path);
if (Token != "") req.Headers.Add("Authorization", "Bearer " + Token);
if (headers != null) foreach (var h in headers) req.Headers.Add(h.Key, h.Value);
if (body != null) req.Content = JsonContent.Create(body);
var env = JsonNode.Parse(await (await C.SendAsync(req)).Content.ReadAsStringAsync())!;
if (env["error"] is JsonNode e && e.GetValueKind() != JsonValueKind.Null) throw new Exception(e.ToJsonString());
return env["data"];
}
}
Step 2 — a token
A guest token is enough for /me and /estimate. A run is metered, so it needs a personal token: sign in on /tokens.html and copy it from there.
# a guest token (enough for /me and /estimate); a run needs your personal token from /tokens.html
TOKEN=$(curl -s -X POST "$BASE/guest" -H "Content-Type: application/json" -d '{"slug":"supplier-sheet"}' | jq -r '.data.token')
# a guest token (enough for /me and /estimate); a run needs your personal token from /tokens.html
TOKEN = ""
TOKEN = api("POST", "/guest", {"slug": "supplier-sheet"})["token"]
// a guest token (enough for /me and /estimate); a run needs your personal token from /tokens.html
TOKEN = "";
TOKEN = (await api("POST", "/guest", { slug: "supplier-sheet" })).token;
// inside main: a guest token (enough for /me and /estimate); a run needs your personal token
token = ""
g, err := api("POST", "/guest", map[string]string{"slug": "supplier-sheet"}, nil)
if err != nil { panic(err) }
token = g["token"].(string)
// inside main: a guest token (enough for /me and /estimate); a run needs your personal token
token = "";
token = api("POST", "/guest", Map.of("slug", "supplier-sheet"), null).get("token").asText();
# a guest token (enough for /me and /estimate); a run needs your personal token from /tokens.html
TOKEN.replace("")
TOKEN.replace(api("POST", "/guest", { slug: "supplier-sheet" })["token"])
// a guest token (enough for /me and /estimate); a run needs your personal token from /tokens.html
$TOKEN = "";
$TOKEN = api("POST", "/guest", ["slug" => "supplier-sheet"])["token"];
// a guest token (enough for /me and /estimate); a run needs your personal token from /tokens.html
Api.Token = "";
Api.Token = (await Api.Call("POST", "/guest", new { slug = "supplier-sheet" }))!["token"]!.GetValue<string>();
Step 3 — GET /me
Who the token is (subject_type: user or guest) and the credit balance.
api GET /me | jq '.data | {subject_type, credits}'
me = api("GET", "/me")
print(me["subject_type"], me.get("credits"))
const me = await api("GET", "/me");
console.log(me.subject_type, me.credits);
me, _ := api("GET", "/me", nil, nil)
fmt.Println(me["subject_type"], me["credits"])
JsonNode me = api("GET", "/me", null, null);
System.out.println(me.get("subject_type") + " " + me.get("credits"));
me = api("GET", "/me")
puts [me["subject_type"], me["credits"]].inspect
$me = api("GET", "/me");
echo $me["subject_type"], " ", $me["credits"] ?? "", "\n";
var me = await Api.Call("GET", "/me");
Console.WriteLine($"{me!["subject_type"]} {me["credits"]}");
Step 4 — POST /estimate
Free. The body is the run input itself, the bare object (never wrapped in {"input": ...}). hold_credits is a reservation, not the price; min_credits is what the balance must cover; model_alias reads gpt-terra.
# input.json: the run input object - {"task": "compare", "event": "Event: ...; Categories (Q1): ...", "categories": "K1. ... | open (...) | budget: ...", "quotes": "Q1. ... | ... | headline: ...", "contracts": "", "facts": "Verdict: ..."}
# - see the input table
api POST /estimate "$(cat input.json)" | jq '.data | {hold_credits, min_credits, model, model_alias, markup_bps, warnings}'
inp = json.load(open("input.json")) # {"task": "compare", "event": "Event: ...; Categories (Q1): ...", "categories": "K1. ... | open (...) | budget: ...", "quotes": "Q1. ... | ... | headline: ...", "contracts": "", "facts": "Verdict: ..."}
# - see the input table
est = api("POST", "/estimate", inp)
print(est["hold_credits"], est["min_credits"], est["model"], est.get("warnings"))
import { readFileSync } from "node:fs";
const input = JSON.parse(readFileSync("input.json", "utf8")); // {task: "compare" or "brief", event, categories, quotes, contracts, facts} (see the input table)
const est = await api("POST", "/estimate", input);
console.log(est.hold_credits, est.min_credits, est.model, est.warnings);
raw, _ := os.ReadFile("input.json") // add "os" to the imports
var input map[string]any
json.Unmarshal(raw, &input)
est, _ := api("POST", "/estimate", input, nil)
fmt.Println(est["hold_credits"], est["min_credits"], est["model"])
Map<String, Object> input = M.readValue(new java.io.File("input.json"), Map.class);
JsonNode est = api("POST", "/estimate", input, null);
System.out.println(est.get("hold_credits") + " " + est.get("min_credits") + " " + est.get("model"));
input = JSON.parse(File.read("input.json"))
est = api("POST", "/estimate", input)
puts [est["hold_credits"], est["min_credits"], est["model"]].inspect
$input = json_decode(file_get_contents("input.json"), true);
$est = api("POST", "/estimate", $input);
echo $est["hold_credits"], " ", $est["min_credits"], " ", $est["model"], "\n";
var input = JsonNode.Parse(File.ReadAllText("input.json"))!;
var est = await Api.Call("POST", "/estimate", input);
Console.WriteLine($"{est!["hold_credits"]} {est["min_credits"]} {est["model"]}");
Step 5 — POST /run, then poll the job
Send an Idempotency-Key built from the lane and the input: a retry with the same key never bills twice. The page uses supplier-sheet:<task>:<inputHash>:a<attempt> - the lane is part of the key - and its one automatic reformat retry is a new attempt number, named in the page as one extra run. A comparison carries summary, disclaimer, verdict, categories, comparison, pick_per_category, terms, schedule, tactics and caveats; a brief carries briefs, delivery, disclaimer and note. The code below prints the headline of either.
KEY="supplier-sheet:compare:$(shasum -a 256 input.json | cut -c1-16):a1"
JOB=$(curl -s -X POST "$BASE/run" -H "Content-Type: application/json" -H "Authorization: Bearer $TOKEN" \
-H "Idempotency-Key: $KEY" --data @input.json | jq -r '.data.job_id')
while :; do
J=$(api GET "/jobs/$JOB"); S=$(echo "$J" | jq -r '.data.status')
case "$S" in succeeded|failed|cancelled) break;; esac; sleep 2
done
echo "$J" | jq -r '.data.output.output' > reply.json # one JSON object, the reply contract
echo "$J" | jq '.data | {charged_credits, truncated}'
jq -r '.verdict // .note, .summary // empty' reply.json
jq -r '(.comparison // [])[] | .supplier + ": " + .all_in' reply.json # the comparison's quotes; a brief has .briefs
import hashlib, time
key = "supplier-sheet:" + inp["task"] + ":" + hashlib.sha256(json.dumps(inp).encode()).hexdigest()[:16] + ":a1"
job = api("POST", "/run", inp, {"Idempotency-Key": key})
while True:
j = api("GET", "/jobs/" + job["job_id"])
if j["status"] in ("succeeded", "failed", "cancelled"):
break
time.sleep(2)
reply = json.loads(j["output"]["output"]) # the reply as one JSON object
print(j["charged_credits"], j.get("truncated"), reply.get("verdict") or reply.get("note"))
print(reply.get("summary", ""))
for q in reply.get("comparison") or []:
print("-", q["supplier"], q["all_in"], q["per_head"])
import { createHash } from "node:crypto";
const key = `supplier-sheet:${input.task}:${createHash("sha256").update(JSON.stringify(input)).digest("hex").slice(0, 16)}:a1`;
const job = await api("POST", "/run", input, { "Idempotency-Key": key });
let j;
do { await new Promise((r) => setTimeout(r, 2000)); j = await api("GET", "/jobs/" + job.job_id); }
while (!["succeeded", "failed", "cancelled"].includes(j.status));
const reply = JSON.parse(j.output.output);
console.log(j.charged_credits, j.truncated, reply.verdict ?? reply.note);
console.log(reply.summary ?? "");
for (const q of reply.comparison || []) console.log("-", q.supplier, q.all_in, q.per_head);
sum := sha256.Sum256(raw) // add "crypto/sha256", "encoding/hex", "time" to the imports
key := "supplier-sheet:" + input["task"].(string) + ":" + hex.EncodeToString(sum[:8]) + ":a1"
job, _ := api("POST", "/run", input, map[string]string{"Idempotency-Key": key})
var j map[string]any
for {
time.Sleep(2 * time.Second)
j, _ = api("GET", "/jobs/"+job["job_id"].(string), nil, nil)
if s := j["status"]; s == "succeeded" || s == "failed" || s == "cancelled" { break }
}
var reply map[string]any
json.Unmarshal([]byte(j["output"].(map[string]any)["output"].(string)), &reply)
fmt.Println(j["charged_credits"], j["truncated"], reply["verdict"], reply["note"])
fmt.Println(reply["summary"])
quotes, _ := reply["comparison"].([]any) // the comparison's quotes; a brief has briefs
for _, x := range quotes {
fmt.Println("-", x.(map[string]any)["supplier"], x.(map[string]any)["all_in"])
}
var digest = java.security.MessageDigest.getInstance("SHA-256").digest(M.writeValueAsBytes(input));
String key = "supplier-sheet:" + input.get("task") + ":" + HexFormat.of().formatHex(digest, 0, 8) + ":a1";
JsonNode job = api("POST", "/run", input, Map.of("Idempotency-Key", key)), j;
do { Thread.sleep(2000); j = api("GET", "/jobs/" + job.get("job_id").asText(), null, null); }
while (!Set.of("succeeded", "failed", "cancelled").contains(j.get("status").asText()));
JsonNode reply = M.readTree(j.get("output").get("output").asText());
System.out.println(j.get("charged_credits") + " " + reply.path("verdict").asText(reply.path("note").asText()));
System.out.println(reply.path("summary").asText());
for (JsonNode q : reply.path("comparison")) System.out.println("- " + q.path("supplier").asText() + " " + q.path("all_in").asText());
require "digest"
key = "supplier-sheet:#{input["task"]}:#{Digest::SHA256.hexdigest(JSON.generate(input))[0, 16]}:a1"
job = api("POST", "/run", input, { "Idempotency-Key" => key })
j = nil
loop do
sleep 2
j = api("GET", "/jobs/#{job["job_id"]}")
break if %w[succeeded failed cancelled].include?(j["status"])
end
reply = JSON.parse(j["output"]["output"])
puts [j["charged_credits"], j["truncated"], reply["verdict"] || reply["note"]].inspect
puts reply["summary"]
(reply["comparison"] || []).each { |q| puts "- #{q["supplier"]} #{q["all_in"]}" }
$key = "supplier-sheet:" . $input["task"] . ":" . substr(hash("sha256", json_encode($input)), 0, 16) . ":a1";
$job = api("POST", "/run", $input, ["Idempotency-Key" => $key]);
do { sleep(2); $j = api("GET", "/jobs/" . $job["job_id"]); }
while (!in_array($j["status"], ["succeeded", "failed", "cancelled"]));
$reply = json_decode($j["output"]["output"], true);
echo $j["charged_credits"], " ", ($reply["verdict"] ?? $reply["note"] ?? ""), "\n";
echo $reply["summary"] ?? "", "\n";
foreach ($reply["comparison"] ?? [] as $q) echo "- ", $q["supplier"], " ", $q["all_in"], "\n";
var digest = System.Security.Cryptography.SHA256.HashData(System.Text.Encoding.UTF8.GetBytes(input.ToJsonString()));
var key = $"supplier-sheet:{input["task"]}:{Convert.ToHexString(digest, 0, 8).ToLowerInvariant()}:a1";
var job = await Api.Call("POST", "/run", input, new() { ["Idempotency-Key"] = key });
JsonNode j;
do { await Task.Delay(2000); j = (await Api.Call("GET", "/jobs/" + job!["job_id"]))!; }
while (!new[] { "succeeded", "failed", "cancelled" }.Contains(j["status"]!.GetValue<string>()));
var reply = JsonNode.Parse(j["output"]!["output"]!.GetValue<string>());
Console.WriteLine($"{j["charged_credits"]} {reply!["verdict"] ?? reply["note"]}");
Console.WriteLine($"{reply["summary"]}");
foreach (var q in reply["comparison"] as JsonArray ?? new JsonArray()) Console.WriteLine("- " + q!["supplier"] + " " + q["all_in"]);
Step 6 — POST /run-stream
The same run as Server-Sent Events, with the same input.json. Browsers receive progress ticks rather than text deltas; the final done event carries the reply.
# Server-Sent Events: tick/delta events while the job runs, then a final event with the job
curl -N -s -X POST "$BASE/run-stream" -H "Content-Type: application/json" -H "Authorization: Bearer $TOKEN" \
-H "Idempotency-Key: supplier-sheet:compare:$(shasum -a 256 input.json | cut -c1-16):a1" --data @input.json
rev = json.load(open("input.json")) # the same run input as input.json: {"task": "compare", "event": "Event: ...; Categories (Q1): ...", "categories": "K1. ... | open (...) | budget: ...", "quotes": "Q1. ... | ... | headline: ...", "contracts": "", "facts": "Verdict: ..."}
# - see the input table
req = urllib.request.Request(BASE + "/run-stream", method="POST", data=json.dumps(rev).encode(),
headers={"Content-Type": "application/json", "Authorization": "Bearer " + TOKEN,
"Idempotency-Key": "supplier-sheet:compare:" + hashlib.sha256(json.dumps(rev).encode()).hexdigest()[:16] + ":a1"})
with urllib.request.urlopen(req) as r:
for line in r:
line = line.decode().strip()
if line.startswith("data:"):
print(line[5:].strip()[:200])
const rev = JSON.parse(readFileSync("input.json", "utf8"));
const r = await fetch(BASE + "/run-stream", { method: "POST", body: JSON.stringify(rev), headers: {
"Content-Type": "application/json", Authorization: "Bearer " + TOKEN,
"Idempotency-Key": `supplier-sheet:compare:${createHash("sha256").update(JSON.stringify(rev)).digest("hex").slice(0, 16)}:a1` } });
const dec = new TextDecoder();
for await (const chunk of r.body) for (const line of dec.decode(chunk).split("\n"))
if (line.startsWith("data:")) console.log(line.slice(5).trim().slice(0, 200));
rraw, _ := os.ReadFile("input.json") // add "bufio", "strings" to the imports
rs := sha256.Sum256(rraw)
req, _ := http.NewRequest("POST", base+"/run-stream", bytes.NewReader(rraw))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+token)
req.Header.Set("Idempotency-Key", "supplier-sheet:compare:"+hex.EncodeToString(rs[:8])+":a1")
res, _ := http.DefaultClient.Do(req)
sc := bufio.NewScanner(res.Body)
for sc.Scan() { if l := sc.Text(); strings.HasPrefix(l, "data:") { fmt.Println(l[5:]) } }
String rev = java.nio.file.Files.readString(java.nio.file.Path.of("input.json"));
var rd = java.security.MessageDigest.getInstance("SHA-256").digest(rev.getBytes());
var sreq = HttpRequest.newBuilder(URI.create(BASE + "/run-stream")).header("Content-Type", "application/json")
.header("Authorization", "Bearer " + token).header("Idempotency-Key", "supplier-sheet:compare:" + HexFormat.of().formatHex(rd, 0, 8) + ":a1")
.POST(HttpRequest.BodyPublishers.ofString(rev)).build();
C.send(sreq, HttpResponse.BodyHandlers.ofLines()).body().filter(l -> l.startsWith("data:")).forEach(System.out::println);
rev = File.read("input.json")
uri = URI(BASE + "/run-stream")
req = Net::HTTP::Post.new(uri, "Content-Type" => "application/json", "Authorization" => "Bearer #{TOKEN}",
"Idempotency-Key" => "supplier-sheet:compare:#{Digest::SHA256.hexdigest(rev)[0, 16]}:a1")
req.body = rev
Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |h|
h.request(req) { |res| res.read_body { |chunk| chunk.each_line { |l| puts l if l.start_with?("data:") } } }
end
$rev = file_get_contents("input.json");
$ch = curl_init(BASE . "/run-stream");
curl_setopt_array($ch, [CURLOPT_POST => true, CURLOPT_POSTFIELDS => $rev, CURLOPT_HTTPHEADER => [
"Content-Type: application/json", "Authorization: Bearer $TOKEN",
"Idempotency-Key: supplier-sheet:compare:" . substr(hash("sha256", $rev), 0, 16) . ":a1"],
CURLOPT_WRITEFUNCTION => function ($ch, $chunk) { foreach (explode("\n", $chunk) as $l) if (str_starts_with($l, "data:")) echo $l, "\n"; return strlen($chunk); }]);
curl_exec($ch);
var rev = File.ReadAllText("input.json");
var rd = System.Security.Cryptography.SHA256.HashData(System.Text.Encoding.UTF8.GetBytes(rev));
var sreq = new HttpRequestMessage(HttpMethod.Post, Api.Base + "/run-stream") { Content = new StringContent(rev, System.Text.Encoding.UTF8, "application/json") };
sreq.Headers.Add("Authorization", "Bearer " + Api.Token);
sreq.Headers.Add("Idempotency-Key", $"supplier-sheet:compare:{Convert.ToHexString(rd, 0, 8).ToLowerInvariant()}:a1");
using var http = new HttpClient();
using var res = await http.SendAsync(sreq, HttpCompletionOption.ResponseHeadersRead);
using var rdr = new StreamReader(await res.Content.ReadAsStreamAsync());
for (string? l; (l = await rdr.ReadLineAsync()) != null;) if (l.StartsWith("data:")) Console.WriteLine(l);