PageSourceSearch

https://aivin-site.vercel.app/site/status.131eecaaf8.js

js aivin-site.vercel.app collected 2026-10-03 06:14:57 UTC 16,192 bytes, 312 lines download raw bytes

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.