v1 proved the intelligence: one canonical data model, a source for every claim, killer scenes that land. It also proved the wrong shell — 9 nav items, ~40 views, 80+ widgets. v2 keeps the brain and kills the CRM: two surfaces, one composer, screens that come to you.
Credit first: v1 proved the hard parts. One canonical data model keeps every number consistent everywhere — the 4.2% delinquency, the $820K Atlas Freight deal, the 9-day launch buffer appear identically in cards, tables, and chat. Every assistant answer ships source chips. The killer scenes exist and land. Nothing below argues with that content. All of it argues with where the content lives.
4 nav sections + 5 company pages + a sidebar assistant = a CRM in the making. Roughly 12 interactive targets in the chrome before any content renders. The assistant — the only surface that answers cross-cutting questions in one step — gets a 320px rail, visually the twelfth thing on screen, and collapses to a floating button on a laptop.
Seven tabs per company, five companies: 35 views. "Is Northlane on plan?" lives behind tab four, Alignment — if you already know that. Nothing in the UI tells you. At 20 portfolio companies this becomes 140 tab-views.
A destination page for your own warnings. A crossed covenant threshold and a competitor's tent-price change get the same row, the same type size, the same Acknowledge button. The user visits their alerts; the alerts should visit the user.
~40 distinct views, 80+ widgets, ~25 dead-but-live-looking buttons — around 43 honest places an answer could live. Every scripted demo question is one click in the assistant and 2+ clicks plus a scan through navigation. The IA taxes exactly the questions the product exists to answer: the cross-cutting ones.
~1,100 lines of dashboard components against 149 lines of assistant panel. Voice is a 1.7-second timer that fakes listening. Citation chips open nothing. The single most on-thesis button — Dealflow's "Ask across the vault" — has no onClick. The layout says: dashboard product, assistant attached. The thesis demands the reverse.
The Northlane covenant breach — the most consequential fact in the portfolio — renders six times across the app, and not one placement ranks it above anything else on its screen. The interface presents; the user triages. Attention ranking — the product's actual job — happens entirely in the partner's head.
"Since Friday, updated 8:02 AM" — the demo's best idea — is one card among ten, competing for the same glance as an opex chart. "Read briefing," "Open full briefing," "Voice readout: Ready," "Preview tomorrow's briefing" — all dead. The brief should be the home, not widget number seven on it.
Dealflow became a sixth nav area, alerts became a page, tasks became a kanban plus an Operations page, competitor intel became a tab. Add LP reporting, fund admin, 20 companies, 18 integrations — the nav scrolls, the tabs wrap, and ⌘K becomes survival gear. The fix is a pricing change: a new capability must cost near-zero screens.
The analyst needs depth on demand. The partner needs five ranked bullets before IC. The portfolio-company CEO — the persona in the owner's brief who installs the product and feeds data upward — has no surface at all. All get the same nine nav items. Only a surface that composes itself to the person and the moment can serve them.
Each one is testable against any future feature request. If a proposed capability breaks a rule, the capability changes shape — not the rule.
The product ranks; the user decides. Opening the app shows an opinion about where your attention goes right now — never an inventory. If it isn't ranked, it isn't shown.
Typed, spoken, or tapped — every intent routes through one answer pipeline. There is nothing the UI can do that asking can't, and nothing asking does that the UI contradicts.
No destinations. Every dashboard, table, and prep pack is a composition that materializes when it's needed and dismisses when it's done. A new capability costs a new answer, not a new nav item.
The brief is the home. One ritual surface plus a hard budget of high-precision pushes (≤3–5/day — the researched attention ceiling). Nothing else interrupts; overflow queues for tomorrow's brief.
Compositions are ephemeral by default. The only persistence path is explicit — "Pin as live" — and a pin becomes a summonable surface refreshed on every reindex, never a nav destination. No badges, no unread counts, no archives.
A card without citations cannot render. Chips open the actual source page. No dead buttons, no fake mics, no decorative affordances: if it renders, it works.
The assistant is the application. Screens are answers. There are exactly two surfaces — and only one of them is ever "the screen you're on": Today, a ranked attention stream, and the Canvas, a near-blank stage where asking materializes rich surfaces. No left nav. No tabs. No company pages. Everything the old 40 views showed still exists — as summonable compositions.
A ritual brief, not a feed. A dated headline written by the same agent turn that assembles the brief; one mono pulse line (tap it to summon the full portfolio composition); a hard cap of 7 ranked cards; a quiet line that makes absence a claim, not a gap. Cards die: resolved · handled · expired · dismissed. Today never accumulates.
The spike concentrates in the Q2-2026 manufacturing origination cohort — it drives most of the increase. The July credit-policy memo flagged underwriting-model drift before the print q2-credit-policy-review. Covenant disclosure is due to the lender within 30 days facility agreement §7.2.
"Approval-rate drift in the manufacturing vertical suggests the underwriting model is mis-scoring seasonal cash-flow risk."
| Cohort | Balance | 60+ rate | vs book |
|---|---|---|---|
| Q4-2025 · all verticals | $24.1M | 2.6% | −1.6pt |
| Q2-2026 · manufacturing | $18.7M | 8.1% | +3.9pt |
| Q2-2026 · all verticals | $31.2M | 5.9% | +1.7pt |
| Book average | $118M | 4.2% | — |
Asking makes surfaces materialize. The agent emits a typed composition; a deterministic renderer mounts real blocks with a ~120ms stagger, so the answer visibly assembles. A follow-up amends the composition — the stage holds one subject at a time; prior turns collapse into the thread rail. Citation pills open the source in a reader overlay. With nothing pending, the stage is near-blank — “Ask the portfolio anything” plus three suggestion chips. On a normal morning, though, the resting state is Today’s ranked brief — whether the home should instead rest blank is Q13.
No dashboard. No sidebar. A quiet page: "Monday, August 24 — one thing is urgent, three need you this week." Under it, the pulse line. Four cards, ranked. The top card has a red rail: NORTHLANE · COVENANT — 4.2% against 3.5%, two source chips. It pushed to her phone at 6:58; here it waits with everything attached.
She taps it. The stack folds into a slim ribbon; blocks assemble in under a second — the delinquency trend with the threshold breached, a cohort table isolating Q2-2026 manufacturing originations, the credit-committee memo that flagged drift before the spike. Every number carries a citation pill.
She types: "Why did it spike?" Three sentences stream in: the manufacturing cohort drives it; the memo predicted it; disclosure is due to the lender in 30 days. Cited.
The kettle boils. She taps the mic. "What should I ask Northlane's management first?" The assistant speaks — three questions, no numbers read aloud — while the written, cited version lands beside the cohort table.
"Draft the covenant disclosure section for the board letter. Put it in front of me — don't send anything." — "Drafting. It'll be in your approvals with sources." A propose-only task is created. Nothing auto-applies.
Esc. The ribbon unfolds into Today. The Northlane card now reads "Briefed 7:49 · draft pending your approval." Second card: Atlas Freight, Thursday 10:00 — $820K, 45 days stalled, champion quiet, prep pack ready. She says: "Read me this prep on Thursday when I'm driving in." Scheduled.
Third card, amber: Vortex's cert QA queue grew a third straight sprint — nine days of buffer against the board's "cert-ready by October 1." She leaves it for the partner call. Below: "Portside and Meridian are on plan. Nothing else needs you."
How does asking become interface? The 2025–26 production landscape gives three candidates — and a market verdict on each.
| A — Summoned pre-generated surfaces | B — Fully generative UI | C — Composition over a vetted block libraryRecommended | |
|---|---|---|---|
| Mechanism | Finite set of hand-designed surfaces; an intent router picks one and fills slots; instances pre-generated ahead of need. | Model streams bespoke layout or code per answer (Thesys C1 / make-real style). | Model emits a typed JSON composition — which blocks, what order, bound to which governed metrics; a deterministic renderer mounts real components. |
| Wow | Medium — the magic is anticipation ("prep card already made"), not novelty. | Highest — "the software builds itself." | High — visibly generative assembly, always crisp. |
| Trust | Highest; same surface every time, spatial memory builds. | Lowest — layout chaos; can't tell insight from rendering bug. Disqualifying for finance. | High — every pixel from a reviewed component, every number from the governed lane; variation only in arrangement, the safe axis. |
| Cost | Lowest, bounded. Fully snapshot-testable. | Deceptively high: weekend prototype, unbounded hardening; effectively untestable. | Medium; the block library, schema, and renderer are durable assets — snapshot-testable per block, compositions loggable and replayable. |
| Market verdict | Perplexity / Granola / Raycast pattern — ships everywhere. | Vercel paused AI SDK RSC and marks streamUI experimental — the best-resourced team stepped back. | Where 2025–26 production converged: AG-UI, Google A2UI, MCP Apps, assistant-ui JSON spec, CopilotKit Gen-2. |
Build the composition schema and the deterministic block renderer now, but ship the demo with pre-generated compositions — hand-authored JSON for every killer scene and every Today card, summoned by an upgraded intent router (v1's /api/ask keyword chain, promoted to intent → composition-id + slot fill). The renderer stages block arrival so materialization reads as assembly. Honest about what the demo is — v1 is already 8 canned answers — and nothing is throwaway: each hand-authored composition becomes a golden-set eval for the live model later.
The agent turn gains one write tool, render_composition, emitting the typed JSON — the exact event-intercept pattern already used by the alert and task tools. Charts never draw from prose: every numeric block binds to a SELECT-only, AST-validated dataset query, and the post-turn numeric-claims verifier already checks that figures trace to that turn's results. Ritual surfaces (morning brief, meeting prep) are saved compositions in the same grammar, refreshed by the post-reindex hooks — Model A and C are one system. The LLM-HTML artifact pipeline is demoted to documents only; open code-gen stays quarantined where its failure mode is a typo, not a wrong covenant number.
The block library, v1 (~18 blocks), reuses v1's proven renderers: kpi-row · trend-chart · bar-compare · cohort-table · pnl-table · risk-flag · commitment-card · person-card · meeting-prep · doc-excerpt · proposal-diff · task-strip · deal-card · graph-snippet · timeline · briefing-list · narrative · action-strip. Compact variants of the same blocks render Today cards — one grammar, two densities.
One rule governs the engine: the tick, not the event. Every trigger class is a durable-state sweep on LiveCEO's existing heartbeat — the post-reindex hook chain plus the every-minute scheduled-job clock — running a headless agent turn and producing a cited, propose-only card. A PE Jarvis is new sweep recipes over existing rails, not new infrastructure. A card without citations cannot render.
| Trigger class | Example Today card | Powered by (real LiveCEO block) |
|---|---|---|
| 01Capital & compliance thresholds | "Northlane 60+ day delinquency 4.2% vs 3.5% covenant" · "Meridian CLIA recert: 47 days" | Standing NL alerts created by asking (create_alert → alertEval.ts), each re-evaluated by its own headless turn after every reindex; thresholds computed via the datasets lane. |
| 02Calendar horizon | "Atlas Freight exec meeting Thu 10:00 — prep pack ready" | calendar_events system dataset + the T−30 pre-meeting brief generator (meetingBrief.ts: attendees, what each owes, what changed) emitting a meeting-prep composition. |
| 03Commitments made in meetings | "Vortex board committed 'cert-ready by Oct 1' — QA queue math now contradicts it" | T+10 post-meeting extraction (meetingExtract.ts) writes commitments; the Status Truth Engine + dependency-slip radar (taskSweepCore.ts) detect drift. |
| 04Anomaly / delta detection | "Portside NRR 118% → 109% year over year" · "Since Friday: 3 changes" | Scheduled jobs running SELECT queries over portco KPI datasets on their own cron; the numeric-claims verifier guarantees the figure traces to the query. |
| 05Staleness & silence | "No Northlane management report in 6 weeks — longest gap this year" | Wiki stale_after frontmatter flags + the evidence-based stale-nudge sweep (taskSweeps.ts). |
| 06Web signals | "Solstice competitor raised tent prices ~8% in DACH; review score slid" | Daily web-signals sweep via the Perplexity lane writing raw/web/ dumps; answers carry the production "part of this answer came from the internet" notice. |
| 07Pending approvals | "2 drafts awaiting your approval: covenant letter section, Solstice counter-move task" | The Proposal Inbox (taskProposalApply.ts) — the propose-only lane surfacing as exactly one card, never as a badge on chrome. |
Tier 0 capital at risk (covenants, compliance <45 days) — always first, never dialable. Tier 1 imminent time (meetings <24h, commitments due). Tier 2 trajectory breaks. Tier 3 deltas since last open. Tier 4 hygiene. Within a tier: magnitude, then recency. Overflow folds into the quiet line. Scores are logged per card, so "why is this first?" is itself an askable question.
The dial governs push (Slack DM, Telegram, email — all existing channels), never what Today shows. Quiet: Tier 0 only. Standard (default): Tiers 0–1, ≤3 pushes/day. Vigilant: Tiers 0–2, ≤5/day. The ceiling comes from the attention research — 3–5 meaningful notifications per day across all sources, ~23 minutes of refocus cost per interruption. Excess candidates queue for the next morning's brief.
v1 shipped one implicit persona and 40 views. A Jarvis product is defined by moments, not screens: something happens in the data, the assistant acts, one surface materializes, the person decides. Everyone gets the same two surfaces — scoped, ranked, and worded for their job. Names beyond Maya are proposals.
Her day is sliced into meetings: Monday partner call, board calls, LP conversations, IC. She doesn't explore data; she consumes synthesis and makes calls. Her worst failure mode is being surprised — by a covenant, an LP question, or something management didn't flag.
The overnight sweep has compiled "Since Friday": Northlane's covenant-letter draft is ready; Portside's stalled $820K deal finally has a Thursday meeting; a Solstice competitor launched 20%-off in Germany over the weekend. The brief is the opening screen — three cited lines, one-tap voice readout.Partner-call prep: ~30 minutes of tab-hopping → 90 seconds.
Before she asks "why," a headless turn has segmented the loan book by cohort, isolated Q2-2026 manufacturing, and pulled the memo that predicted the drift. Two proposed actions wait in her approvals — nothing auto-sent.Risk caught the day the data lands, not in the quarterly pack — with the "why" attached.
A prep card materializes: attendees, what each owes, what changed — and the hard question. Management committed "cert-ready by October 1"; the QA queue math now contradicts it, and none of it appeared in the board deck.She walks in with the question management hoped nobody would ask.
"Where is your concentration risk?" One agent turn ranks all five companies — Solstice at ~34% of revenue in TrailMart, Portside healthiest at 6% — with citations and the first question to put to Solstice management.An LP-grade, cited answer in seconds instead of "we'll follow up."
The power user: builds board packs and IC memos, answers partner asks within the hour, screens inbound decks. The current CRM shape punishes him most — he's the one who knows which of 7 tabs holds each answer, which is precisely the knowledge the product should make worthless.
Cohort segmentation through the datasets lane; the answer traces to Q2-2026 manufacturing with citations into the credit-policy memo and the board-deck dump; every figure verified. He forwards the composition itself.An afternoon of loan-tape Excel becomes one question — with an audit trail Maya can click.
"Have we seen this pitch before?" Three past logistics-marketplace deals surface: deck claims side by side, the take-rate pushbacks, two pass memos — and a flag that one founder is raising again with a pivoted deck. This is v1's dead "Ask across the vault" button made the entire dealflow experience.Institutional memory in one question. Pass memos finally compound.
Every figure traces: citation pills open the reader panel onto the actual wiki page; dataset answers expose the executed SQL. Verification without a CRM tree — provenance is the only "navigation" in the product.v1's non-clickable chips were the most corrosive fake. Fixed by construction.
Lives in the delta between the board-approved plan and operational reality: hiring, pricing, channel mix, 100-day plans. Her job is pattern recognition across companies — the one thing a per-company tab layout structurally cannot serve.
The sweep cross-references each board plan against raw signals. At Vortex: cert QA queue up three sprints, one engineer sole owner of the launch-blocking bug, a senior QA req open 60 days — none of it in the last board deck, all of it colliding with "cert-ready by October 1."Intervention weeks before the board meeting, not a post-mortem after the slip.
"Who else in the book has fixed unprofitable paid acquisition, and what did it cost them?" One turn over all five decision logs — including the finding that Solstice's wholesale fallback created the ~34% TrailMart concentration in the first place.The question a CRM can't answer, because CRMs shard knowledge by company and she thinks in patterns.
The four production task sweeps ran after every reindex all week; her Friday brief compiles what moved, what's blocked, what's waiting — Solstice's German counter-campaign still waiting on budget sign-off — with approve/dismiss on each nudge.Replaces the entire OperationsBoard. She approves nudges; she doesn't garden a board.
His week: credit committee, collections, a board that wants answers, a lender that will want a letter. He did not install a reporting tool — he installed LiveCEO as his company brain; the fund's visibility is a governed by-product. The same holds for his peers: Vortex racing a launch, Meridian on a compliance clock, Portside watching NRR slide, Solstice with CAC underwater.
A conversation, not a settings tree: Drive, Gmail, Slack, Calendar via OAuth; the notetaker joins meetings from his calendar; and the loan-management system — the source that matters — is connected by the conversational connector agent. Delinquency becomes a governed dataset, not a spreadsheet attachment.Data flows in days. No IT project, no monthly reporting-pack ritual, ever.
His own reindex computes the 4.2% print and his Jarvis fires first — same analysis both sides will see, plus a drafted board narrative, remediation plan, and covenant-letter language in his approvals.He walks into the board conversation presenting the analysis instead of defending against it.
The system shows him exactly which source selectors the fund's view includes and previews the actual filtered wiki the fund's agent reads — because policy is a materialized filesystem view, not a prompt promising to behave. Approve or decline per selector.Trust is structural: no silent surveillance, auditable both directions.
| Persona | Ritual surface | Exception budget | Deepest right | Never sees by default |
|---|---|---|---|---|
| Investment Partner | Morning brief + meeting prep cards | ~2–3/day, covenant-grade only | Ask anything, portfolio-wide | Tabs, tables, kanban, alert pages, raw transcripts |
| Associate | Morning brief + inbound-deck triage | ~3–5/day | Reader panel + SQL trace on every number | Out-of-coverage companies, LP material |
| Operating Partner | Weekly radar + Friday task pulse | Slip/threshold exceptions only | Cross-portfolio decision history | Dealflow, IC, LP material, task boards |
| Portfolio CEO | Company-scoped morning brief | Own-company only | Full own-company brain + upward-view preview | Other portcos, fund internals, LP material |
A fifth persona — LP / Investor Relations — is deliberately sketched, not built: LP-facing numbers demand audited-figures discipline and a third trust boundary on top of the two we're building. Ship the inside loop first.
Every fund-side promise depends on portfolio-company data arriving continuously instead of as a 30–45-day-stale monthly pack. That only happens if the CEO wants to install it — so the design constraint is brutal and clarifying: the product must be worth installing even if the fund did not exist. The pitch leads with what she gets, never with what the fund gets: "Northstar is giving every portfolio company a chief of staff. Yours reports to you."
portside is created and linked to the fund org.fund↔portco link: buildTotal CEO-attended time: about one hour, split across a day. First value: T+45 minutes. Full aha: inside 24 hours.
Three terms that turn a suspicious CEO into a yes: symmetric visibility (the "Shared with Northstar" mirror renders byte-for-byte what the fund's agent reads, plus an audit feed of every fund-side access), the fund pays (a portfolio service, like the legal panel), and she keeps the brain at exit (policy revoked, workspace hers — the fund is a temporary subscriber to her system).
The delinquency series is Tier 1: covenant-relevant, on the schedule, already in every monthly pack. It flows — no CEO action can stop it, and Marcus knew that on day one, which is why it doesn't feel like betrayal when it happens. The evening the refresh carries 4.2%, his Jarvis fires first: "This flags on Northstar's side at tomorrow's brief. Attach context?" He attaches the cohort analysis and the remediation plan his credit committee already drafted. At 7:30, Maya's brief leads with the crossing — with his narrative attached. The first conversation starts at "here's the plan," not "why are we hearing this from a spreadsheet." The system will never let him hide the number — and will never let him be ambushed by it.
| Metric | Monthly-pack status quo | With upstream flow |
|---|---|---|
| Reporting latency | 30–45 days stale on arrival | < 24h (daily reindex, incremental cursors) |
| Covenant-breach detection | Next reporting cycle — up to 6 weeks, naked | Next sync + morning brief, with CEO narrative attached |
| Analyst normalization effort | est. 10–20 h/month across 5 portcos | ~0 — datasets land queryable |
| Board-call commitments tracked | Partner's handwritten notes | Every recorded fund-attended meeting, cited, joined to plan |
| CEO board-pack effort | est. 8–12 h/quarter | ~1 h review — generated from the same datasets the fund reads |
The flywheel, stated once: every portco install makes the fund's Today cards sharper; every sharp fund-side moment ("how did you know to ask about Atlas?") makes the next CEO's install conversation shorter. The CEO side is not an add-on — it is the fund product's data layer, wearing a chief-of-staff suit.
This experience is not a new platform. It is new sweep recipes, one new render tool, and a re-skinned shell over LiveCEO's shipped rails. The honest ledger:
| Experience element | LiveCEO building block | Status |
|---|---|---|
| Today's card triggers (the heartbeat) | Post-reindex hook chain (postRefresh.ts) + every-minute scheduled-job clock (cron.ts) + NL alerts (alertEval.ts) — each card is a headless agent turn on a tick | exists new PE recipes |
| Cited, propose-only actions | Proposal Inbox with evidence capture (taskProposalApply.ts, taskEvidence.ts); managed actions for interactive sends (managedActionCatalog.ts) | exists |
| Answers with citations | Agent engine (agentCore.ts): Claude Agent SDK, Read/Grep/Glob over the curated wiki — no RAG; wiki pills + reader panel (Markdown.tsx, ReaderPanel.tsx) | exists |
| Numbers that can't be invented | Datasets lane: SELECT-only AST-validated SQL over org-scoped Postgres (datasetQuery.ts) + post-turn numeric-claims verifier | exists |
| Composition schema + block renderer | New render_composition write tool (same event-intercept pattern as alertTool.ts) + ~18-block deterministic renderer reusing v1's Recharts kit, MetricCards, graph snippet | build |
| Meeting prep & commitments | T−30 brief (meetingBrief.ts) + T+10 extraction (meetingExtract.ts) + Recall.ai notetaker + calendar dataset | exists |
| Voice in, headline out | Production WebRTC Realtime stack (voiceClient.ts) with pinned tool ask_company_brain; dictation lane as fallback | exists ask_portfolio_brain |
| CEO-side connectors | Composio OAuth ingesters (Drive, Gmail, Calendar, Slack, Jira, GitHub…) + conversational connector-setup agent → Manifest v2 for ERPs/finance stacks | exists HubSpot ingester |
| Pinned live surfaces | Live-dashboard semantics (liveDashboards.ts): stored question, regenerated after every reindex, staleness surfaced | adapt |
| The trust boundary | Access-management layer: per-policy materialized wiki views (wikiMaterialize.ts), scoped agent filesystem roots — extended to cross-org fund-view mounting + shared-dataset replication | exists cross-org: build |
| "Shared with Northstar" mirror + audit feed | Changelog machinery with withheld-count honesty (knowledgeUpdates.ts) as the doctrine; the mirror screen itself is new | build |
| Push channels + the dial | Slack bot, Telegram bot, durable email lane — all shipped; the three-position dial is a thin policy over them | exists dial |
| Generated documents (decks, memos) | Artifact pipeline (artifactGen.ts) — demoted to documents only, rendered inside a doc-artifact block; never numeric surfaces | adapt |
Largest genuinely new engineering item: cross-org linking + fund-view materialization + shared-dataset replication — the seam between company brains and the fund brain. It is an extension of shipped access-management machinery, not a new idea.
Four v1 assets carry forward directly: the canonical data layer (five internally consistent companies — every generated surface in v2 binds to it), the killer-scene content (the eight sourced answers are precisely what a proactive assistant should surface unprompted), the renderers (charts, metric cards, graph — reframed as blocks in a summonable vocabulary), and the citation contract — made real and clickable. The rule: nothing survives as a place you go. Everything survives as a surface that comes to you.
The cast stays. Five companies, five kinds of PE anxiety, one set of canonical numbers that never contradict themselves. Part 1 scripted nine killer scenes; v1 shipped eight of them as canned, cited answers. Four of the nine, replayed as v2 moments:
Same contract as Part 1's sixteen: each question ships with our lean, and the lean is an invitation to disagree. Chips mark the option space; green is where we currently stand.
Our leanBuild the composition schema and block renderer now; ship the demo on hand-authored compositions. Every hand-authored composition becomes a golden-set eval when the live model takes over. Model B is disqualified for finance — one broken layout in front of an LP-grade audience discredits the data itself.
Our leanOne screen. Tabs are the first CRM cell division — the moment there are two destinations there will be nine (v1's own history proves it). Intent folds the stack into a ribbon; Esc unfolds it. The demo becomes one continuous camera move with zero navigation cuts.
Our leanWire it — voiceClient.ts is lift-ready and the commute-brief beat is a headline moment. Hard rule either way: no simulated listening. v1's 1.7-second fake mic is exactly the affordance that collapses under one audience question. Voice is input plus headlines; it never reads tables and never creates an answer that isn't on glass.
Our leanStandard as the default; immediate paging only for contractually defined hard triggers. The 3–5/day ceiling is researched, not aesthetic — the over-notifying agent gets muted, then uninstalled. Everything else queues for the morning brief.
Our leanSame product. Marcus gets Today + Canvas scoped to Northlane, plus one extra summonable surface: the "Shared with Northstar" mirror. A separate portal would recreate the reporting-tool framing the whole adoption story exists to avoid.
Our leanNothing. Pins are summonable via ⌘K or by asking, never a gallery-as-home. Possible exception worth debating: the CEO's mirror, which carries trust weight and may deserve a permanently visible entry point on the CEO seat.
Decided · 2026-08-25v1 and v2 ship together as one product. The workspace keeps its screens — Portfolio overview, Dealflow, Watchtower, Tasks, company pages — and the v2 experience becomes the Personal cabinet: one tab, the landing tab. Inside the cabinet, the two-surface model stands unchanged (Today ⇄ Canvas, composer, propose-only writes). The dashboards remain destinations for those who want them; the cabinet is where the day starts.
Our leanSlack DM for partners and associates (it's where they live), email + in-app for CEO seats, Telegram where a principal asks for it. All three lanes are shipped production channels; the dial is per-person policy on top.
Our leanThin and real: the Today surface with 7 seeded cards over v1's data model, six hand-authored compositions (covenant, exposure, prep, vault, bottleneck, portfolio), the reader panel with working citations, and voice for the brief. One continuous scene beats forty views.
Our leanYes. The ranking is the product's most consequential opinion; it must be explainable on demand. Deterministic tier-first logic, magnitude then recency within tiers, logged per card.
Our leanCEO first — evening, with "attach context?" — fund at the 7:30 brief with the narrative attached. The gap is ritual cadence, not a policy delay: data lands on both sides at the same sync, the fund is never held back, the CEO is never ambushed. Tier 0 hard triggers may page earlier — that is why Maya’s phone buzzed at 6:58 while the narrative still arrived with the 7:30 brief. This is the single sharpest trust decision on the page.
Our leanOnly by asking ("show me Friday's Northlane view", "what fired this month?"). An archive page is a destination, destinations breed badges, and badges breed the CRM. The thread rail covers within-session recall.
Our leanOne scene. Scene 9 is the fund's institutional-memory showstopper and needs zero vault UI — a question and a materialized comparison. The full deal-card vocabulary waits for the product phase.
Our leanBrief-first. A truly blank home is the purest anti-CRM statement — but it makes the proactivity invisible and hands the first move back to the user. The ranked stack is the assistant’s opening sentence; blank-first turns Jarvis back into a search box. This is the page’s strongest implicit opinion — contest it here.
Our leanA push is a Slack/Telegram/email message whose link opens the responsive Today surface — the 6:58 covenant beat is push → phone → Today, no app install. The Thursday commute readout is a scheduled voice readout over the same lanes (Telegram voice note first; the Realtime voice session once M3 lands). A native app is not a v2 question.