1(function(){ 2const { 3 W: StW, 4 Eyebrow: StEb, 5 H2: StH2, 6 Sec: StSec, 7 SBtn: StBtn, 8 Lk: StLk, 9 routeHref: StHref 10} = window; 11const ST_UPDATED = 'August 29, 2026'; 12const ST_ROWS = [['Cellar Record', 'live', 'customer', 'Cost, bin, provenance, condition, duty status, house service window and depletion, held as one record. Depends on no outside licence.', '', ''], ['Concierge Onboarding', 'live', 'customer', 'An operator maps and commits your list by hand. Delivered today, included with every paid cellar subscription.', '', ''], ['Pairing Studio', 'live', 'customer', 'Pairs against your bins at tonight\u2019s cover count and costs the pour off your own invoices. Needs no market data.', '', ''], ['Cellar Signals', 'partial', 'customer', 'Depletion, movement, house service windows and allocation concentration run off your own Record and are real.', 'Signals expressed in market value are computed from the labelled synthetic reference set.', 'A signed market-data licence.'], ['Cellar Valuation', 'partial', 'license-pending', 'The method, the derivation and the document are real, and the working is reproducible.', 'Market figures underneath them are demonstration data. Grade C is carried as supporting evidence and excluded from market-referenced totals.', 'A signed market-data licence. Grade C requires a reproducible vintage-adjustment method reviewed by an appraiser.'], ['Portfolio', 'gated', 'customer', 'Consolidation, cohorts and data rights are built and work.', 'Not currently sold. Anything expressed in market value carries the Valuation caveat, and the cohort suppression rule is not yet approved.', 'The named-reference gate, and an approved suppression rule.'], ['Ask Aivin', 'demonstration', 'not-applicable', 'A public wine-reasoning experience. It does not access a property\u2019s Cellar Record, by design.', 'Not connected to a production model key in this environment.', 'A production API key and the abuse controls already built into the endpoint.'], ['Appraiser co-sign', 'gated', 'not-applicable', 'The schedule, the evidence and the working are produced in appraiser-review-ready form.', 'No credentialed appraiser is under written agreement, so the signature workflow is switched off.', 'A named appraiser under written agreement, with scope, review and signature workflow and professional liability addressed.'], ['Projects \u00b7 Technology & AI Assessment', 'requires-project', 'not-applicable', 'Scoped and priced in writing before work begins. From $6,500.', '', 'A written scope. Projects are not part of the standard subscription.'], ['The Cellar Brief', 'live', 'demonstration', 'One page a month. The published issues run over the demonstration cellar.', '', ''], ['Complimentary diagnostic', 'live', 'customer', 'Run on the files a program already has. Returned within five working days of Aivin receiving the materials for the agreed scope.', '', ''], ['Market-data licence', 'planned', 'license-pending', 'Intended sources are named below.', 'No licence is signed. Every market figure in the platform is computed from a labelled synthetic reference set.', 'A signed licence, with the provider named on this page.'], ['Inventory and POS connections', 'requires-project', 'not-applicable', 'Aivin reads from the systems a program already runs and never writes to a point of sale.', 'No connection is live in this environment. Each one is scoped as Project work against the specific system and account.', 'A written Project scope per system.']]; 13const ST_TONE = { 14 live: ['Live', 'var(--signal-ok)', 'rgba(0,248,196,.10)'], 15 partial: ['Partial', 'var(--signal-caution)', 'rgba(240,179,126,.12)'], 16 demonstration: ['Demonstration', 'var(--aivin-blue)', 'rgba(93,169,255,.12)'], 17 gated: ['Gated', 'var(--signal-caution)', 'rgba(240,179,126,.12)'], 18 planned: ['Planned', 'var(--text-muted)', 'rgba(255,255,255,.06)'], 19 'requires-project': ['Requires project', 'var(--text-muted)', 'rgba(255,255,255,.06)'] 20}; 21const ST_DATA = { 22 customer: 'Customer data', 23 demonstration: 'Demonstration data', 24 'third-party': 'Third-party licensed data', 25 'license-pending': 'Licence pending', 26 'not-applicable': '\u2014' 27}; 28const ST_SOURCES = [['Wine-Searcher', 'Merchant offers, for breadth', 'Covers Italy, the Rh\u00f4ne, Germany and domestic \u2014 which is most of a restaurant cellar. Asking prices, not transactions, and the method treats them as such.'], ['Liv-ex', 'Traded bid and offer on the fine-wine core', 'Transaction evidence rather than asking prices. Narrow coverage, high evidentiary weight.'], ['Auction hammer results', 'Realized transactions', 'The evidence class an appraiser trusts most, and the slowest to arrive. Used to corroborate, not to set, a reference.']]; 29function StatusPage({ 30 go 31}) { 32 const rule = { 33 paddingTop: 16, 34 borderTop: '1px solid var(--border-subtle)' 35 }; 36 return React.createElement("div", null, React.createElement("div", { 37 style: { 38 background: 'var(--gradient-hero)' 39 } 40 }, React.createElement(window.SiteNav, { 41 route: "status", 42 go: go 43 }), React.createElement(StW, { 44 style: {
45 padding: 'clamp(30px,6vh,60px) clamp(20px,5vw,40px) clamp(40px,7vh,70px)' 46 } 47 }, React.createElement(StEb, { 48 on: true 49 }, "Status"), React.createElement("h1", { 50 style: { 51 fontFamily: 'var(--font-display)', 52 fontWeight: 500, 53 fontSize: 'var(--fs-display)', 54 lineHeight: 1.06, 55 letterSpacing: '-.014em', 56 color: 'var(--white)', 57 margin: '14px 0 0', 58 maxWidth: 860, 59 textWrap: 'pretty' 60 } 61 }, "What is live, what is in progress, and what our numbers rest on."), React.createElement("p", { 62 style: { 63 fontSize: 'var(--fs-lead)', 64 lineHeight: 1.62, 65 color: 'rgba(255,255,255,.86)', 66 margin: '18px 0 0', 67 maxWidth: 660 68 } 69 }, "Aivin values cellars. That only works if you know where the numbers come from, so we publish it. This page is dated, it is reviewed monthly, and the day a license signs we change one row rather than rewriting a site."), React.createElement("div", { 70 style: { 71 fontSize: 'var(--fs-meta)', 72 color: 'rgba(255,255,255,.6)', 73 marginTop: 18 74 } 75 }, 'Last updated ' + ST_UPDATED))), React.createElement(StSec, null, React.createElement(StEb, null, "Where each part stands"), React.createElement(StH2, { 76 style: { 77 maxWidth: 640 78 } 79 }, "Product by product, with what it means for you today."), React.createElement("div", { 80 style: { 81 marginTop: 26 82 } 83 }, ST_ROWS.map(([name, tone, data, works, notYet, before]) => { 84 const [label, color, bg] = ST_TONE[tone]; 85 return React.createElement("div", { 86 key: name, 87 "data-row": true, 88 style: { 89 display: 'grid', 90 gridTemplateColumns: 'minmax(0,190px) minmax(0,132px) minmax(0,1fr)', 91 gap: 'clamp(12px,2.4vw,26px)', 92 padding: '17px 0', 93 borderTop: '1px solid var(--border-subtle)', 94 alignItems: 'baseline', 95 justifyItems: 'start' 96 } 97 }, React.createElement("div", { 98 style: { 99 fontFamily: 'var(--font-display)', 100 fontSize: 'var(--fs-body)', 101 fontWeight: 500, 102 color: 'var(--text-primary)' 103 } 104 }, name), React.createElement("div", null, React.createElement("span", { 105 style: { 106 fontSize: 'var(--fs-eyebrow)', 107 letterSpacing: '.09em', 108 textTransform: 'uppercase', 109 color, 110 background: bg, 111 borderRadius: 4, 112 padding: '4px 8px', 113 whiteSpace: 'nowrap', 114 display: 'inline-block' 115 } 116 }, label), React.createElement("span", { 117 style: { 118 display: 'block', 119 fontSize: 'var(--fs-meta)', 120 color: 'var(--text-muted)', 121 marginTop: 6 122 } 123 }, ST_DATA[data])), React.createElement("div", { 124 style: { 125 maxWidth: 640 126 } 127 }, React.createElement("div", { 128 style: { 129 fontSize: 'var(--fs-body)', 130 lineHeight: 1.68, 131 color: 'var(--text-muted)' 132 } 133 }, works), notYet ? React.createElement("div", { 134 style: { 135 fontSize: 'var(--fs-note)', 136 lineHeight: 1.65, 137 color: 'var(--signal-caution)', 138 marginTop: 8 139 } 140 }, 'Not yet: ' + notYet) : null, before ? React.createElement("div", { 141 style: { 142 fontSize: 'var(--fs-note)', 143 lineHeight: 1.65, 144 color: 'var(--text-muted)', 145 marginTop: 6 146 } 147 }, 'Before commercial use: ' + before) : null)); 148 }))), React.createElement(StSec, { 149 style: { 150 background: 'var(--surface-tint)' 151 } 152 }, React.createElement(StEb, null, "Market data"), React.createElement(StH2, { 153 style: { 154 maxWidth: 620 155 } 156 }, "The sources we intend to license, named."), React.createElement("p", { 157 style: { 158 fontSize: 'var(--fs-body)', 159 lineHeight: 1.7, 160 color: 'var(--text-muted)', 161 margin: '14px 0 0', 162 maxWidth: 640 163 } 164 }, "Naming them before they are signed is deliberate. It tells an appraiser we understand the difference between an asking price and a transaction, and it tells a provider we are a serious counterparty. When each is signed we name it here with the date, the data class and the capture cadence."), React.createElement("div", { 165 style: { 166 display: 'grid', 167 gridTemplateColumns: 'repeat(auto-fit,minmax(min(100%,260px),1fr))', 168 gap: 'clamp(18px,3vw,34px)', 169 marginTop: 28 170 } 171 }, ST_SOURCES.map(([n, what, note]) => React.createElement("div", { 172 key: n, 173 style: rule 174 }, React.createElement("div", { 175 style: { 176 fontFamily: 'var(--font-display)', 177 fontSize: 'var(--fs-lead)', 178 fontWeight: 500, 179 color: 'var(--text-primary)' 180 } 181 }, n), React.createElement("div", { 182 style: { 183 fontSize: 'var(--fs-meta)', 184 color: 'var(--aivin-blue)', 185 marginTop: 7 186 } 187 }, what), React.createElement("div", { 188 style: { 189 fontSize: 'var(--fs-note)', 190 lineHeight: 1.68, 191 color: 'var(--text-muted)', 192 marginTop: 9 193 } 194 }, note)))), React.createElement("div", { 195 style: { 196 marginTop: 26, 197 padding: 'clamp(18px,2.4vw,26px)', 198 borderRadius: 12, 199 border: '1px solid var(--border-subtle)', 200 background: 'var(--surface-card)' 201 } 202 }, React.createElement("div", { 203 style: { 204 fontSize: 'var(--fs-body)', 205 lineHeight: 1.7, 206 color: 'var(--text-body)', 207 maxWidth: 720 208 } 209 }, "Licenses in negotiation. Until one is signed, every market figure in the platform and in the sample appraisal is computed from a synthetic reference set built for demonstration. It is internally consistent and it is not a real price."))), React.createElement(StSec, null, React.createElement(StEb, null, "The appraiser"), React.createElement(StH2, { 210 style: { 211 maxWidth: 640 212 } 213 }, "USPAP governs appraisal practice and the appraiserâs work. The standard attaches to a person."), React.createElement("p", { 214 style: { 215 fontSize: 'var(--fs-body)', 216 lineHeight: 1.7, 217 color: 'var(--text-muted)', 218 margin: '14px 0 0', 219 maxWidth: 660 220 } 221 }, "Aivin produces the working â fully derived, reproducible, effective-dated â and stops at the signature line, because an appraisal is a professional opinion and no software substitutes for one. Unsigned, every document says so on its own face. Signed, it carries the name of the appraiser who reviewed it: yours if you already work with one, or one Aivin introduces."), React.createElement("div", { 222 style: { 223 display: 'flex', 224 gap: 12, 225 flexWrap: 'wrap', 226 marginTop: 24 227 } 228 }, React.createElement(StBtn, { 229 variant: "mint", 230 href: StHref('work') 231 }, "Appraisers: work with us"), React.createElement(StBtn, { 232 variant: "white", 233 href: StHref('methodology') 234 }, "Read the method"))), React.createElement(StSec, { 235 style: { 236 background: 'var(--surface-tint)' 237 } 238 }, React.createElement(StEb, { 239 color: "var(--aivin-mint)" 240 }, "The one thing we will not do"), React.createElement(StH2, { 241 style: { 242 maxWidth: 700 243 } 244 }, "Nobody files a document with an insurer off demonstration data."), React.createElement("p", { 245 style: { 246 fontSize: 'var(--fs-lead)', 247 lineHeight: 1.66, 248 color: 'var(--text-body)', 249 margin: '16px 0 0', 250 maxWidth: 680, 251 textWrap: 'pretty' 252 } 253 }, "You can book a valuation today and we will name a delivery month. Nothing is charged until we deliver, and a deposit is refundable and says so in writing. What we will not do is hand you a finished document built on figures we have told you are synthetic. That is the whole reason this page exists."), React.createElement("div", { 254 style: { 255 display: 'flex', 256 gap: 12, 257 flexWrap: 'wrap', 258 marginTop: 24 259 } 260 }, React.createElement(StBtn, { 261 variant: "mint", 262 href: StHref('valuation') 263 }, "How Cellar Valuation works"), React.createElement(StBtn, { 264 variant: "white", 265 href: StHref('start') 266 }, "Read the sample appraisal"))), React.createElement(StSec, { 267 style: { 268 borderTop: '1px solid var(--border-subtle)' 269 } 270 }, React.createElement(StEb, null, "Every other caveat, in one place"), React.createElement(StH2, { 271 style: { 272 maxWidth: 700 273 } 274 }, "So no other page has to carry them."), React.createElement("p", { 275 style: { 276 fontSize: 'var(--fs-body)', 277 lineHeight: 1.7, 278 color: 'var(--text-muted)', 279 margin: '14px 0 0', 280 maxWidth: 660 281 } 282 }, "A dozen disclaimers spread across a site reads as a company apologizing. The same dozen on one dated page reads as a company keeping a register. This is the register."), React.createElement("div", { 283 style: { 284 display: 'grid', 285 gridTemplateColumns: 'repeat(auto-fit,minmax(min(100%,280px),1fr))', 286 gap: 'var(--fs-h2)', 287 marginTop: 28 288 } 289 }, [['The pairings are real', 'The twelve dishes, the wines poured against them, why each works and the pairing each avoids are verbatim from real service menus as they were run in working restaurants.'], ['The holdings are not', 'Bottle counts, bins, costs, list prices, depletion history and every market reference in the platform are fabricated for demonstration, with an as-of date of July 31, 2026. Nothing there should be used to make a financial decision.'], ['The gaps are deliberate', 'One property has never been valued, one is too thin on comparables to be appraiser-review ready, one has no lots at all, and two menu courses cannot be covered. Those are the states the product exists to handle, not holes in the build.'], ['No logo appears without consent', 'Aivin does not publish a property\u2019s name, logo or metrics until that house has agreed to the exact wording in writing. A cellar is confidential and so is the fact of using us.'], ['The signature belongs to an appraiser', 'Aivin assembles the schedule and the evidence; a credentialed appraiser reviews the evidence and, if appropriate, signs \u2014 yours if you already work with one, or one we introduce. Unsigned, the document states on its own face that it is appraisal support rather than a certified appraisal.'], ['A person answers, not a sequence', 'Every form on this site reaches one of two peo
289ple directly. If you have sent something and heard nothing in two working days, write to [email protected] and it will be because a message went astray, not because you are in a queue.'], ['Prices are list, and current', 'Every figure published on the pricing page is the figure. Founding-cohort pricing is held for twelve months from license signature and the list price is printed beside it.']].map(([t, b]) => React.createElement("div", { 290 key: t 291 }, React.createElement("div", { 292 style: { 293 fontFamily: 'var(--font-display)', 294 fontSize: 'var(--fs-lead)', 295 fontWeight: 500, 296 color: 'var(--white)' 297 } 298 }, t), React.createElement("div", { 299 style: { 300 fontSize: 'var(--fs-note)', 301 color: 'var(--text-muted)', 302 marginTop: 9, 303 lineHeight: 1.7 304 } 305 }, b))))), React.createElement(window.Close, { 306 go: go 307 })); 308} 309Object.assign(window, { 310 StatusPage 311}); 312})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.